Hallo,
für unterschiedliche Edits benötigst Du unterschiedliche Instanzen à la Edit1, Edit2. ... EditN.
Momentan überschreibst Du immer wieder ein und das selbe Editfeld (MyEdit)
Dies könnte auch
der Grund der Zugriffsverletzung sein, da hier der von der Instanz (MyEdit) benötigte Speicherplatz überschieben wird, bevor er freigegeben wurde!
Wir erstellen unterschiedliche Edits mal so:
Delphi-Quellcode:
MyEdit1 := TEdit.Create(self); // EDIT NUMERO 1 !!!
with MyEdit1 do
begin
Name := 'NewEditAuftragArt_' + IntToStr(intAuftragAnzahlEdits);
Parent := Form1.ScrollBox1;
Font.Size := 10;
Width := 33;
Left := 81;
Top := 80 + ((intAuftragAnzahlEdits-1) * 80);
Text := 'A';
MaxLength := 1;
OnKeyPress := AuftragArtCheck;
OnEnter := AuftragAuftragErfassenEditOnEnter;
OnChange := AuftragAuftragErfassenEditOnEnter;
end;
MyEdit2 := TEdit.Create(self);
// hier fängt edit 2 an!!!
with MyEdit2 do // EDIT NUMERO 2 !!!
begin
Name := 'NewEditAuftragArtNr_' + IntToStr(intAuftragAnzahlEdits);
Parent := Form1.ScrollBox1;
Font.Size := 10;
Width := 60;
Left := 142;
Top := 80 + ((intAuftragAnzahlEdits-1) * 80);
Text := '';
OnKeyPress := AuftragArtikel;
OnEnter := AuftragAuftragErfassenEditOnEnter;
OnChange := AuftragAuftragErfassenEditOnEnter;
end;
So, und danach werden die Edits freigegeben mit: edit1.free und edit2.free.
Frage:
Warum machst Du Dir so'nen Stress mit dynamischen Edits? Warum nicht statisch?
Nachtrag:
Delphi-Quellcode:
//Sowas hier ...
MyLabel := nil;
MyEdit := nil;
MyCheckBox := nil;
//...ersetze bitte durch
MyLabel.free;
MyEdit.free;
MyCheckBox.free;
DANNYBOY