Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Zitat:
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Hab es nun mal damit versucht, aber ich erhalte immer noch einen Fehler: "Konstanttyp kann nicht als Var-Parameter weitergegeben werden"
Delphi-Quellcode:
var DBE: TDBEdit; FreeAndNil(Form1.FindComponent('DBE')); |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Nochmal: FindComponent erwartet den Namen der Komponente, z.B. Edit1
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Aber dadurch, dass ich vorher nicht weiß, wie hoch die Anzahl der Kompenten ist, die erstellt worden sind, muss ich dann vorher prüfen, ob prinzipiell eine Komponente erstellt worden ist und dann wie viele insgesamtn erstellt wurden...
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Referenzen auf alle Komponenten befinden sich unter Form.Components, aller Controls unter Form.Controls
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Merk Dir doch einfach die Anzahl der dynamisch erstellten Komponenten (je Komponentenart).
|
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Aber meine Komponenten haben alle einen unterschiedlichen Namen: In Bezug auf Edit-Felder wären es dann "Edit_1", "Edit_2", usw..
Habe also eine Zählvariable... Edit: @DeddyH: Stimmt, das könnte ich probieren... |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Was ich sehe, sind Bezeichner und keine Zählvariablen.
[edit] Postings überschnitten :mrgreen: [/edit] |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Delphi-Quellcode:
Fehlermeldung:var DBE: TDBEdit; var y: Integer; begin Save_NumFields := NumFields; // NumFields wird mit der Funktion übergeben und ist eben die Anzahl der Felder, die erstellt werden sollen if not Assigned(DBE) then begin for y := 1 to Save_NumFields do begin FreeAndNil(Form1.FindComponent('DBEdit_' + IntToStr(y))); end; end; end; Ist die Zeile mit der Funktion FreeAndNil(); [Fehler] Unit1.pas(108): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden |
Re: Problem: DBEdit/Edit Felder per Knopfdruck generieren
Was soll denn bei Assigned() herauskommen? Versuch es mal so (schnell dahergetippt):
Delphi-Quellcode:
var DBE: TDBEdit;
var y: Integer; begin Save_NumFields := NumFields; // NumFields wird mit der Funktion übergeben und ist eben die Anzahl der Felder, die erstellt werden sollen // if not Assigned(DBE) then begin for y := 1 to Save_NumFields do begin DBE := Form1.FindComponent('DBEdit_' + IntToStr(y)); FreeAndNil(DBE); end; // end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr. |
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