nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

OT: Parameter und Eventhandler

Von: Soeren Muehlbauer (soeren.dd@gmx.de) [Profil]
Datum: 02.11.2009 12:47
Message-ID: <7l7v5rF2up3m2U1@mid.individual.net>
Newsgroup: de.comp.lang.delphi.misc
Hi,

ich bin gerade beim Lesen der VirtualTree Newsgroup auf ein
interessantes Problem gestoßen. Ich schreibe das hier nur, damit andere
nicht vielleicht in genau die gleiche Falle tappen. Um es vorweg zu
nehmen: Das ist kein Problem der Unicodeifizierung von D2009-D2010,
sondern dem Urheber der Änderung in VirtualTrees.pas.

Man stelle sich folgenden Typen vor. So war er bisher und wurde als
Ereignis veröffentlicht.

TVSTGetTextEvent = procedure(Sender: TBaseVirtualTree; Node:
PVirtualNode; Column: TColumnIndex;
TextType: TVSTTextType; var CellText: WideString) of object;

In einigen Formularen ist der auch so angehangen (per DFM).

Nun wurde diese Signatur geändert in:

TVSTGetTextEvent = procedure(Sender: TBaseVirtualTree; Node:
PVirtualNode; Column: TColumnIndex;
TextType: TVSTTextType; var CellText: UnicodeString) of object;

In Pre 2009-Versionen gibts dann noch:

type
UnicodeString = WideString;
PByte = PAnsiChar;


So, das Ganze kompiliert wunderbar. Nur erntet man zur Laufzeit
wunderschöne Schutzverletzungen. Embarcadero hat es leider noch nicht
geschafft, zur Designzeit eine Überprüfung der Verbundenen Handler
durchzuführen. Auch zum Kompilierzeitpunkt wäre es doch möglich die
Signaturen zu prüfen. Auf der anderen Seite kommen solche Fehler
wahrscheinlich eher selten vor.

Sören


[ Auf dieses Posting antworten ]

Antworten