Und wenn du bei StartProgressDialog und Co. wieso nil übergibst, dann deklariere es besser als pvResevered: PPointer {ohne var}
und übergib ein Richtiges nicht soein "gahacktes" NIL.
Ich denke, auch du hast eine Indirektion zuviel. Das ist weder Referenz auf Zeiger noch Zeiger auf Zeiger, sondern einfach Zeiger - siehe den letzten Absatz in
meiner ersten Antwort.
Man kann sich das Leben auch schwerer machen, als nötig.
(und wenn wirklich mal jemand so krankhaft bescheuert sein sollte und global im ganzen Projekt die vollständige boolische Auswertung aktiviert ... selber Schuld)
Shit happens.
Ach ja, abgesehn von ParentWindow sollten der letzte Public-Block wohl eher ein Published sein.
Ansonsten kann man das TComponente als Vorfahr garnicht ausnutzen, denn es ließe sich zwar auf die Form pappen, aber einstellen könnte man dort nicht viel.
Ist ja keine Komponente, sondern nur ein
TObject
. Da kannste publishen, bis du schwarz wirst.
Und deine TdxProgressDialog ist nicht für Delphis bis D2009 geeignet, da das Interface mit
Unicode deklariert ist, aber dort String und PChar
kein Unicode sind, was dann nicht mehr zusammenpaßt.
Deklarier dir einfach eigene "String"- und "PChar"-Typen, welche ab D2009 string und PChar oder UnicodeString und PWideChar bleiben, aber bis D2007 als WideString und PWideChar deklariert sind.
Hab ich grad gemerkt, als ich es mal mit D2007 ausprobieren wollte. Ich hab jetzt mal alle
PChar
durch
PWideChar
und alle
string
durch ein typedef auf
WideString
ersetzt, dann läuft's.