![]() |
Abstrakter Fehler
Hallo miteinander
Habe folgende Procedur programmiert, welche im Endeffekt nichts anderes macht, als zuvor dynamisch erzeugte Elemente wieder zu löschen. Jedoch tritt dabei immer mal wieder ein "abstrakter Fehler" auf.
Delphi-Quellcode:
Woran kann diese liegen???
procedure TForm1.loeschenTeilnehmer(tempzahl:String);
var name: TNamenArray; x,tempx: Integer; temp: String; begin name:=setArrays(); ShowMessage('Loeschen T.'); for x := 0 to 12 do begin TEdit(FindComponent(name[x] + tempzahl)).Free; end; ShowMessage('Loeschen T.'); //Löschen des Mitglied und Kursfeldes TCheckBox(FindComponent('mitglied' + tempzahl)).Free; TComboBox(FindComponent('kurs' + tempzahl)).Free; TComboBox(FindComponent('sportart' + tempzahl)).Free; TButton(FindComponent('loeschen' + tempzahl)).Free; Wäre euch echt dankbar, wenn ihr dafür eine Lösung finden würdet. Gruß Michael |
Re: Abstrakter Fehler
Wieder mal vvergessen : Poezedurkopf. 8)
|
Re: Abstrakter Fehler
So nun ist auch der Prozedurkopf mit drinnen.
|
Re: Abstrakter Fehler
Hehe, da fehlt jetzt noch die Deklaration von der Form. :mrgreen:
|
Re: Abstrakter Fehler
Delphi-Quellcode:
so das ist die Klassendekleration der Form. Ich hoffe, dass ich nun also hab, was du/ihr benötigt.
type
TNamenArray = Array [0..12] of String; TForm1 = class(TForm) MainMenu1: TMainMenu; PageControl1: TPageControl; TabSheet1: TTabSheet; createTeilnehmerleiste: TButton; sendListe: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; IdHTTP1: TIdHTTP; IdFTP1: TIdFTP; Datei1: TMenuItem; Beenden1: TMenuItem; TabSheet2: TTabSheet; WebBrowser1: TWebBrowser; Timer1: TTimer; procedure createTeilnehmerleisteClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure sendListeClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); //Eigene Funktionen procedure generateTextfeld(left : Integer; name: String; width:Integer); procedure generateTeilnehmerfelder(); procedure generateUeberschriften(); procedure generateAuswahl(left : Integer; name: String); procedure generateCombobox(left : Integer; name: String; top:integer; width:integer); function datensatzRueckgabe(): String; function setArrays():TNamenArray; procedure loadCombobox(datname:String;cbox:String); function changeToID(temp:String): String; procedure dateiUpload(); procedure Beenden1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure generateButton(); procedure LoeschenClick(Sender: TObject); procedure loeschenTeilnehmer(tempzahl:String); procedure verschiebeTeilnehmer(tempzahl:String); |
Re: Abstrakter Fehler
Ne, immer noch nicht. :mrgreen: Wo ist z.B. die Sportart ??
|
Re: Abstrakter Fehler
Hey, ich kann hier nun den kompletten Quelltext dieser Unit hinhauen, aber dann sind es ca. 600 Zeilen und ich weis nicht, ob das dann wirklich übersichtlich ist.
|
Re: Abstrakter Fehler
anhängen. 8)
|
Re: Abstrakter Fehler
Hallo Michael,
wieso verwaltest du 13 Basisnamen für Komponenten in einem TNamenArray und 4 weitere nicht? Was passiert, wenn du bei drei existierenden Teilnehmern den ersten löschst und anschließend einen neuen Teilnehmer erstellst? Wird die zum Löschen verwendete TempZahl wiederverwendet? Grüße vom marabu |
Re: Abstrakter Fehler
Im Array stehen nur die Namen für die Editfelder. Die Namen der anderen Felder hab ich halt statisch festgelegt.
Wenn ich Felder lösche werden die anderen Felder dementsprechend verschoben, so dass im Endeffekt die Zahl tempzahl wieder belegt ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz