Exception bei Zugriff über FindComponent

Rund um die LCL und andere Komponenten
Antworten
_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Exception bei Zugriff über FindComponent

Beitrag von _ny »

Holla

folgendes Stückchen Code hab ich aus Delphi direkt in Lazarus kopiert.

Code: Alles auswählen

q_temp.SQL.Text := ' SELECT * FROM b_maxrabatt ';
  q_temp.Open;
  for i := 1 to 30 do
  begin
    with (FindComponent('l_prgr' + IntToStr(i)) as TLabel) do
    begin
      Caption := 'RG ' + q_temp.FieldByName('prgr').AsString + ' - ' +
        q_temp.FieldByName('rabatt').AsString + '%';
      Hint := q_temp.FieldByName('lieferant').AsString;
      Tag := q_temp.FieldByName('rabatt').AsInteger;
    end;
  q_temp.Next;
  end;
Beim Ausführen erhalte ich aber im "WITH DO"-Bereich die Fehlermeldung EXTERNAL SIGSEV und der Cursor springt zur Controls.Inc in die Funktion TControl.GetText: TCaption, dort auf die Zeile

Code: Alles auswählen

// Check if GetTextBuf is overridden, otherwise
  // we can call RealGetText directly
   if TMethod(@Self.GetTextBuf).Code = Pointer(@TControl.GetTextBuf)
woran liegts, falsch kanns ja theoretisch nicht sein, wenns unter Delphi funktioniert

Danke!

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das entsprechende Label existiert nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

_ny
Beiträge: 40
Registriert: Do 18. Okt 2007, 13:40

Beitrag von _ny »

schau ich nochma, danke :)

//E
na ganz toll.. anstatt ner l_prgr17 stand da l_prgr117 ... muss man erstmal entdecken...

Antworten