Publications‎ > ‎Software reviews‎ > ‎

Borland C++ Builder brengt COM+

PCM 6/97 kon u voor het eerst lezen over Borland C++ Builder, de eerste werkelijk visuele C++ ontwikkelomgeving die als twee druppels water leek op het toen al zeer succesvolle Delphi. Sindsdien heeft Inprise bij iedere nieuwe uitgave van één van deze twee produkten zowel het uiterlijk als de functionaliteit, waar van toepassing, gelijkwaardig weten te houden. Welnu, was het in PCM 7/99 nog de beurt aan C++ Builder 4 en stond in PCM 12/99 Delphi 5 nog in het voetlicht, ditmaal is het wederom de beurt aan Borland C++ Builder 5, de Professional Edition...

Borland C++ Builder brengt COM+


Werkomgeving
C++ Builder 5 geeft al tijdens het opstarten blijk van de nodige creativiteit. Okee, het is nu natuurlijk niet echt een verrassing meer, maar alle verbeteringen in de geïntegreerde ontwikkelomgeving (IDE) van Delphi 5 hebben nu ook een plaats gevonden in C++ Builder 5. Zo kunt u nu meerdere vensterconfiguraties opstellen zodat u ten alle tijde volledige controle heeft over de indeling van de werkruimte. Met de geïntegreerde Todo-lijst functionaliteit is een overzicht van alle in code opgenomen TODO commentaren beschikbaar. Bovendien worden formulieren nu in tekstformaat bewaard, zodat u het DFM bestand nu ook buiten de ontwikkelgeving kunt benaderen.

Ook de Object Inspector is flink uitgebreid. Niet alleen is het nu mogelijk om de eigenschappen van het geselecteerde object te sorteren op categorie, ook filteren behoort tot de mogelijkheden.

Natuurlijk blijft het wel zo handig om tevens over een visuele schil om het projectbestand te beschikken! De optie Q rechtonder is overigens terug te vinden als attribuut in de XML versie onder het pad PROJECT:OPTIONS:CFLAG1. De Project Manager heeft er bovendien een extra gezicht bij gekregen nu het projectbestand (BPR) wordt bewaard in XML formaat. U kunt dus nu alle opties tegelijkertijd benaderen door dit bestand als platte tekst te openen in de editor. Maar u kunt natuurlijk ook nog steeds de uit 13 pagina's bestaande Project dialoog gebruiken! Het is alleen niet de bedoeling om in de Project dialoog wijzigingen aan te brengen terwijl u het tevens het XML bestand open heeft, aangezien de XML versie dan niet bijgewerkt wordt. Verder toont de Project Manager nu alle bestandsafhankelijkheden op basis van de gecompileerde vorm, zodat u een volledig beeld kunt krijgen van de onderliggende bronnen.

Database

De Code Editor in C++ Builder 5 toont hier het actieve projectbestand in XML formaat, waardoor u de volledige configuratie snel kunt overzien en wijzigen. Aan de linkerkant bevindt zich de reeds bekende ClassExplorer. Met de nieuwe InterBase Express (IBX) componenten kunt u direct communiceren met InterBase gegevensbanken, zonder gebruik te hoeven maken van de Borland Database Engine (BDE) abstractielaag. Dit betekent behalve snelheidswinst natuurlijk ook meer beschikbare functionaliteit. Zo kunt u bijvoorbeeld informatie opvragen over de actieve uit voeringsgegevens van de server en kunt u van gebeurtenissen op de server op de hoogte gesteld worden dankzij de IBEvent component. Indien u dus zeker weet dat u alleen toegang tot InterBase gegevensbanken nodig heeft, dan zijn de IBX componenten zeer zeker het overwegen waard.

Dankzij de ADOExpress componenten kunt u nu ook in C++ Builder 5 op vertrouwde wijze gebruik maken van ActiveX Data Objects (ADO), Microsoft's uniforme standaard voor toegang tot relationele én niet-relationele gegevensbanken. Tenminste... Inprise levert deze OLE-DB gebaseerde componenten helaas niet standaard mee bij de Professional Edition. Bovendien hangt aan het benodigde pluspakket een flink prijskaartje.

Nieuw in C++ Builder 5 is tevens de Data Module Designer waar u in de Delphi 5 bespreking in PCM 12/99 reeds uitgebreid over kon lezen. Ook in C++ Builder 5 beschikt u dus over een sterk verbeterd gereedschap waarmee u onder meer op visuele wijze verbindingen kunt definiëren tussen componenten.

COM

Na Delphi 5 biedt nu ook C++ Builder 5 de mogelijkheid om COM servers zoals Microsoft Word en Excel toe te voegen aan het Component Palette zodat ze op vertrouwde visuele wijze aan te sturen zijn. De nieuwe Active Server Object dialoog maakt het eenvoudiger om uitbreidingen voor Internet Information Server (IIS) te ontwikkelen door voorgebakken toegang tot de specifieke interfaces te verschaffen. Bovendien kan de omhulselgenerator voor COM type bibliotheken nu overweg met sparse vtables, oftewel interface definities met niet-sluitende nummering, zodat COM objecten ontwikkeld in Visual Basic beter te importeren zijn.

Geheel nieuw is de ondersteuning voor COM+, de versmelting van COM en MTS functionaliteit. Met de COM+ Event Wizard kunt u snel het raamwerk genereren voor een COM+ Event Object, terwijl met de Transactional Object dialoog eenvoudig objecten zijn aan te maken voor ge bruik in zowel MTS als COM+. In de verschillende COM Wizards kunt u nu bovendien kiezen voor het COM+ Neutral Apartment Threading model, zodat componenten op een relatief veilige manier een maximale uitvoeringssnelheid kunnen bereiken.

Uitvoering

In C++ Builder 5 is het eindelijk mogelijk om verder te werken terwijl de compiler op de achtergrond zijn werk doet. De belangrijkste verbetering in de ontwikkelomgeving is echter zonder twijfel de nieuwe Background Compilation optie. In de PCM besprekingen van zowel C++ Builder 3 als 4 vormde het modaal uitgevoerde compilatie- en linkproces immers nog het grootste minpunt aan de ontwikkelomgeving. In Delphi is dit nooit een bron van ergenis geweest aangezien Object Pascal razendsnel gecompileerd wordt, maar het compilatieproces in C++ Builder neemt beduidend meer tijd in beslag. Nu u echter gewoon verder kunt werken of alvast een debugsessie kunt voorbereiden terwijl het compilatieproces soepeltjes op de achtergrond plaatsvindt, is de gebruikersvriendelijkheid van de C++ Builder ontwikkelomgeving als geheel flink toegenomen. Bovendien kunt u de compiler meer gedetailleerde foutmeldingen laten genereren, die onder meer de parser context bevatten.

De linker kan nu in twee opzichten beter overweg met DLL's. Allereerst is het nu mogelijk om bibliotheken op te geven die pas in het geheugen worden geladen op het moment dat een bibliotheekfunctie daadwerkelijk wordt aangeroepen. Het gebruik van deze zogenaamde Delay-Loaded-DLL's kan het opstarten van een toepassing aanzienlijk versnellen indien het enkel infrequent gebruikte functionaliteit bevat. Tenslotte kan de linker nu DLL functies zowel importeren als exporteren op basis van ordinaal waard en, de toegewezen functienummers in bibliotheken.

De debugger stopt op een breekpunt. Met de vertrouwde Debug Inspector kunt u de huidige instellingen van het geselecteerde object bekijken, terwijl ook de locale variabelen in het venster linksboven zichtbaar zijn. Onderin toont het Event Log venster gedetailleerde informatie. In de debugger kunt u nu aangeven welke handeling uitgevoerd dient te worden op een breekpunt. Behalve het gebruikelijke stoppen kunt u nu ook onder meer expressies evalueren en breekpunten groeperen. Bovendien kunt u instellen in hoeverre details in het uitvoervenster van de debugger zichtbaar zijn. Het is zelfs mogelijk om alle verzonden vensterboodschappen te laten afvangen, wat bijzonder behulpzaam kan zijn bij het traceren van complexe fouten. Het bijgeleverde CodeGuard hulpprogramma kan tenslotte uitvoeringsproblemen opsporen zoals geheugenlekken en ongeldige handles.

Tenslotte

Overigens bevat C++ Builder 5 Proffesional Edition behalve de installatie-cd en een volledig pakket handleidingen nog een aantal aardige extra's, zoals onder meer Delphi 4 Standard, JBuilder 3 Foundation, HotMetal Pro 5.0 en C++ Builder Companion Tools. Maar al deze extraatjes wegen toch niet op tegen het gemis van het ADOExpress add-on pack.

Conclusie

Borland C++ Builder 5 Professional Edition bevat opnieuw een flink aantal vernieuwingen, zoals de lang verwachte Background Compiling optie en het bijzonder gebruikersvriendelijke vensterconfiguratie systeem. Ook op het gebied van COM is C++ Builder 5 goed bij de tijd en beschikt zelfs over COM+ gereedschap. Voor maatwerk toepassingen die verbindingen met gegevensbanken dienen te onderhoude n lijkt het C++ Builder/Delphi duo al jaren de beste keus. Des te meer reden waarom het ADOExpress pluspakket een standaard onderdeel zou moeten zijn van de Professional Edition.

Specificaties

Produkt: Borland C++ Builder 4.0
Producent: Inprise
Minimale systeemeisen: 90-MHz Pentium, 32 MB geheugen, 240 MB schijfruimte, Windows 95/98/NT4-SP3/2000
Prijzen incl BTW: Standard f 256 / Bfr 4.610, Professional f 2.068 / Bfr 37.224 (upgrade f 643 / Bfr 11.590, cup f 773 / Bfr 13.916, add-on packs: ADOExpress: f 514 / Bfr 9.263, TeamSource: f 438 / Bfr 9.263), Enterprise f 6.470 / Bfr 116.473 (enterprise upgrade f 4.399 / Bfr 79.185, professional upgrade f 5.692 / Bfr 102.471)
Leverancier: Inprise, 020-5035100; ook voor België
Internet: http://www.borland.com/bcppbuilder/

Afbeeldingen

C++ Builder 5 geeft al tijdens het opstarten blijk van de nodige creativiteit. Natuurlijk blijft het wel zo handig om tevens over een visuele schil om het projectbestand te beschikken! De optie Q rechtonder is overigens terug te vinden als attribuut in de XML versie onder het pad PROJECT:OPTIONS:CFLAG1. De Code Editor in C++ Builder 5 toont hier het actieve projectbestand in XML formaat, waardoor u de volledige configuratie snel kunt overzien en wijzigen.  Aan de linkerkant bevindt zich de reeds bekende ClassExplorer. In C++ Builder 5 is het eindelijk mogelijk om verder te werken terwijl de compiler op de achtergrond zijn werk doet. De debugger stopt op een breekpunt. Met de vertrouwde Debug Inspector kunt u de huidige instellingen van het geselecteerde object bekijken, terwijl ook de locale variabelen in het venster linksboven zichtbaar zijn. Onderin toont het Event Log venster gedetailleerde informatie.