Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Problem mit einem Zeiger...

  Alt 25. Jan 2007, 22:27
Zitat von xZise:
Wenn es nicht am Code liegt, werde ich mich wohl an den Programmierer des Parsers wenden müssen
HI,
von welchem Typ ist denn dieser Parser. Schon klar, dass es sich um TExCqParser handelt, aber ist das eine Klasse oder ein Record? (gehe mal stark von ersterem aus). Wenn es eine Klasse ist, so wirst Du schon mal keinen Zeiger brauchen, da in der Variable Parser eh nur eine Referenz (ein impliziter Zeiger) übergeben wird.

Dein Fehler kann gleich durch verschiedene Dinge entstehen, aber am wahrscheinlichsten liegt es am falschen Index. Du greifst auf die Eigenschaft parser.Variables.Items zu, die dürften sich zwischen 0 und parser.Variables.Length - 1 liegen. Das prüfst Du aber nie. Für den Fall, dass noch kein Eintrag ausgewählt ist, dürfte der Index hier -1 sein und es könnte zu dem Fehler kommen. Dann prüfst Du auch nicht, ob ein Parser zugewiesen wurde (assigned(parser^)).

Ich gehe einfach mal davon aus, dass es sich bei dieser Prozedur um die Ereignisbehandlung eine Komponente handelt? Und genau hier dürfte eben dieses Ereignis schon beim Anzeigen aufgerufen werden (und der ItemIndex muss zu dem Zeitpunkt nicht gültig, der Parser nicht gesetzt sein). Also einfach vorher prüfen und nur wenn Du hier die Korrektheit sicherstellst den Inhalt ausführen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat