Code: Alles auswählen
my_edit := TEdit.create(Form1);
with my_edit do begin
Top := 20;
Left := 20;
Width := 20;
Name := 'Edit'+IntToStr(i+5); //habe schon 5 Edits
end;
so... und in einer anderen Prozedur versuche ich diese Edit-Felder aufzurufen:
Code: Alles auswählen
(FindComponent('Edit'+IntToStr(i+5) as TEdit).Text := 'Hallo';
so, während der Laufzeit erstelle ich jetzt ein Edit(1+5), und da i im ersten Durchlauf 1 ist, habe ich also ein Edit6. (es erscheint übrigens auch auf dem Formblatt). Dieses will ich dann über die findcomponent-methode aufrufen. Sinnvollerweise heißt das dann sozusagen (FindComponent('Edit6' as TEdit).Text := 'Hallo';
Aber er bricht mir mit einer exception class "External: SIGSEGV" ab und spring im Quelltext der control.inc zur Zeile
Code: Alles auswählen
if TMethod(@Self.GetTextBuf).Code = Pointer(@TControl.GetTextBuf)
und markiert diese grau... Was tun?