Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Problem mit einem Zeiger...

  Alt 25. Jan 2007, 22:09
Ich bin neu in die Zeiger eingestiegen und habe folgendes Konstrukt:

Das Formular:
Delphi-Quellcode:
type
  TfrmVariables = class(TForm)
    cbList: TComboBox;
    eName: TEdit;
    eValue: TEdit;
    {...}
    procedure cbListChange(Sender: TObject);
  private
     parser : ^TExCQParser;
  public
    {...}
    procedure setVariables(Data : TExCQParser);
  end;

procedure TfrmVariables.cbListChange(Sender: TObject);
begin
  eName.Text := parser^.Variables.Items[cbList.ItemIndex].Name; // <<<
  eValue.Text := FloatToStr(parser^.Variables.Items[cbList.ItemIndex].Variable.Values[0]);
end;

procedure TfrmVariables.setVariables(Data: TExCQParser);
var
   i : Integer;
begin
  parser := @Data;
   cbList.Clear;

   for i := 0 to parser^.Variables.Length - 1 do
  begin
    cbList.Items.Add(parser^.Variables.Items[i].Name);
  end;
end;
Jetzt tritt in cbListChange (Z. 17) der Fehler auf:
Zitat:
---------------------------
XXXX
---------------------------
Zugriffsverletzung bei Adresse 004626AA in Modul 'XXXX.exe'. Lesen von Adresse 00000030.
---------------------------
OK
---------------------------
Aufruf:
Delphi-Quellcode:
procedure TForm1.Button21Click(Sender: TObject);
begin
  frmVariables.Show;
  frmVariables.setVariables(Parser);
end;
Davor ist die Form nicht sichtbar, und die Funktion "setVariables" führt er ordnungsgemäß aus.

Wenn es nicht am Code liegt, werde ich mich wohl an den Programmierer des Parsers wenden müssen
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat