Als je een applicatie maakt dat moet draaien via een WLAN (Wifi), pas dan even op en lees het onderstaande door:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
Als je een applicatie maakt dat moet draaien via een WLAN (Wifi), pas dan even op en lees het onderstaande door:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
Soms wordt je onaangenaam verrast: je meet de tijd van alle SQL queries in je programma met "MillisecondsBetween" en je krijgt als resultaat: 0, 0, 0, en 15ms...
Consequenties
De default time slice van 15ms heeft nogal wat consequenties voor het programmeren: zo gaat een "Sleep(1)" niet 1ms wachten, maar 10 - 15ms! (afhankelijk van andere threads etc). Maar ook andere tijd functies zoals "GetTickCount", "Now" (Delphi) of "GetLocalTime" (Windows) werken in stapjes van 15ms!
OldNow := KOLDetours.InterceptCreate(@Now, @NowExact);
Vlak na de preview van Delphi 2010 (zie mijn vorige post), verscheen al de RTM versie en is het officieel released. Ondertussen zijn er verschillende interessante blogs verschenen, waarbij verschillende verbeteringen verder uitgelegd worden. Ik zal niet alle verbeteringen bespreken, maar een paar uitlichten. (P.S: zie ook de complete "reviewers" guide!)
Uitgebreide online wiki help (!)
Na de Delphi Prism Wiki is de hele RAD Studio via een mooie online wiki te doorzoeken. Bijvoorbeeld voor het complete overzicht van alle verbeteringen in de 2010 versie:
Voor een handig beginpunt:
Maar ook de complete Delphi Language Guide is beschikbaar, evenals bijvoorbeeld de VCL, etc.
Class constructors
Een mooie uitbreiding (wat nog niet zo nadrukkelijk genoemd is), is de ondersteuning van Class Constructors (net als .Net)
Een voorbeeld hoe je het kunt gebruiken:
RTTI (a la .Net reflection)
Verder is de RTTI sterk verbeterd, meer object georiënteerd zoals .Net Reflection werkt, zonder allerlei pointers, records, etc.
Class attributes
Zoals je ziet, zijn in D2010 verschillende .Net technieken verwerkt. Nu heeft Delphi ook ondersteuning voor class attributes:
TStopwatch
Nog een kleine maar handige uitbreiding is de TStopwacht, voor het meten van tijden (hoe lang een stuk code duurt etc):
Andere handigheidjes:
Datasnap (multitier):
IDE & Source Code:
DBX: Firebird + alle sourcecode (!)
Wat ik zelf erg mooi vind, is de native ondersteuning van de open source database Firebird (compatible (?) met Interbase). Maar ook dat de broncode van alle drivers meegeleverd wordt! Niet alleen van DBX, maar ook (eindelijk!) van Midas.dll (oa bekend van TClientdataset).
Extra's
De eerste extra functies en fixes van "andy" zijn al verschenen voor D2010:
Laatst is er een interessante dotNed meeting geweest bij DTS/4DotNet over TPL voor .Net. Gelukkig bestaat voor Delphi zoiets dergelijks al een poosje:
Op de site van Codegear/Embarcadero is vorige week de Delphi 2010 Preview Center verschenen: Nog 7 dagen, 2 uur, 31 minuten (and counting…) en dan is het zover.
Delphi 2010 belooft de beste Delphi release ooit te worden, met veelbelovende nieuwe features en verbeteringen! Zoals (Multi)Touch, Mouse Gestures, IDE Insight (alles (!) vinden in 1 scherm), background compilation, verbeterde debugger (oa threads), verbeterde RTTI (.Net Reflection!), class attributes, Direct2d canvas (Win7), etc etc.
Bekijk onder andere deze video eens:
Vervolgens zijn er op de Codegear blog een groot aantal artikelen hierover verschenen:
Niet minder interessant zijn de blog artikelen van de “Wings of wind” blog!:
Een ander blog had een leuk artikel over een andere (kleine) verbetering mbt API wrappers:
1 ding is zeker: ze zijn bij Codegear/Embarcadero druk bezig met Delphi! De toekomst zag met al het .Net geweld er somber uit, maar de zon schijnt achter de wolken. Wat betreft “native code” versus “managed/.Net code” vond ik de volgende gedeelte van de blog van Pawel Glowacki wel mooi:
Tim Anderson in his post “Native code makes a comeback – except it never away” has some good points on this subject as well. The very good example why native code continues to be important is new Windows 7 Direct2D graphics. I like the quote from MSDN Magazine June 2009 issue “Introducing Direct2D” where author sums it up:
(…) if you want to develop high-performance and high-quality commercial applications, you’ll still look to C++ and native code to deliver that power. (…)
That is why Delphi and C++Builder developers are not looking to move away from native to managed code.
Er is de laatste tijd weer genoeg nieuws te melden. Deze keer over nieuwe zoekmachines, PopupMode, gratis Blaise Pascal Magazine editie, MonoDevelop op Mac & Windows, Delphi Prism May 2009 met AOP(!) en VS2010 met .Net 4.0 met PFX.
Zoekmethoden:
RemObjects SDK:
Delphi:
Visual Studio:
Delphi Prism:
Mono:
Axum in Visual Studio:
Laatst sprak ik klant, en die vroeg mij over de toekomst van Delphi. Ik kon toen daar geen goed antwoord op geven. De huidige Delphi 2007 en 2009 zijn mooie en goede versies, maar daarna?
Deze week was de Delphi Live! 2009 conferentie, waarin veel nieuwe en interessante sessies waren, en waar open en vrij over gesproken werd. 1 ding is duidelijk als je kijkt naar roadmap: Embarcadero investeert flink in Delphi! Daarnaast is het team uitgebreid, en ondanks de crisis: “the business is healty”. Kortom: de toekomst ziet er zonnig uit :-).
Na de “serieuze” disclaimer werden de sessies gehouden. Hieronder een overzicht van de vele onderdelen:
Tot slot nog een samenvatting en bespreking van dag 2 en dag 3 (!) door Marco Cantu, een overzicht van Pawel Glowacki en de Delphi Live! 2009 Recap and Product Address.
Edit: er zijn nog meer video’s beschikbaar gekomen: