Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abstrakter Fehler (https://www.delphipraxis.net/80644-abstrakter-fehler.html)

MiChiJong 12. Nov 2006 23:29


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:
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;
Woran kann diese liegen???

Wäre euch echt dankbar, wenn ihr dafür eine Lösung finden würdet.

Gruß Michael

Hansa 12. Nov 2006 23:36

Re: Abstrakter Fehler
 
Wieder mal vvergessen : Poezedurkopf. 8)

MiChiJong 12. Nov 2006 23:41

Re: Abstrakter Fehler
 
So nun ist auch der Prozedurkopf mit drinnen.

Hansa 12. Nov 2006 23:55

Re: Abstrakter Fehler
 
Hehe, da fehlt jetzt noch die Deklaration von der Form. :mrgreen:

MiChiJong 13. Nov 2006 00:03

Re: Abstrakter Fehler
 
Delphi-Quellcode:
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);
so das ist die Klassendekleration der Form. Ich hoffe, dass ich nun also hab, was du/ihr benötigt.

Hansa 13. Nov 2006 00:17

Re: Abstrakter Fehler
 
Ne, immer noch nicht. :mrgreen: Wo ist z.B. die Sportart ??

MiChiJong 13. Nov 2006 00:30

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.

Hansa 13. Nov 2006 00:32

Re: Abstrakter Fehler
 
anhängen. 8)

marabu 13. Nov 2006 08:32

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

MiChiJong 13. Nov 2006 08:41

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 13:53 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz