Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TValueListEditor.OnEditButtonClick: Reihe herausfinden

  Alt 17. Mai 2007, 19:56
Hallo MArtin,

da bist du Opfer einer Unvollkommenheit der Code Completion geworden.

Delphi-Quellcode:
index := VLE. {Row}; //1
VLE.Keys[VLE. {Row}]; //2
ShowMessage(VLE.Keys[VLE. {Row}]); //3
Bei //1 werden tatsächlich alle Eigenschaften angeboten, die sich auf den Typ von index (Integer) casten lassen - oder die als Objekt, Klasse oder Record eine solche Möglichkeit offen lassen. Bei //2 sind alle Eigenschaften sichtbar, die sich direkt oder indirekt als Array-Index eignen (zusätzlich Objekte etc. wie bei //1) . Bei //3 entscheidet der verwendete Parser wegen ShowMessage, dass er alle Strings anbieten sollte - die Array-Klammern werden ignoriert. Das Verhalten des Parsers, der eindeutig eigenständig und deutlich primitiver als der Parser des Compilers ist, kann durch Syntaxfehler in den Zeilen davor auf verschiedene Weise beeinflusst werden. Die Existenzprüfung für eine Eigenschaft mittels Code Completion solltest du also lieber in einer eigenständigen Zeile in Abwesenheit von Syntaxfehlern vornehmen.

Freundliche Grüße
  Mit Zitat antworten Zitat