![]() |
AW: Eigenschaften von erzeugten Komponenten
Wobei das was in AddNewLabeledEdit oder im Constructor gemacht wird, im Grunde das Selbe ist ... nur eben an unterschiedlichen Stellen.
|
AW: Eigenschaften von erzeugten Komponenten
Ich hab jetzt das ganze mal ausprobiert, aber leider noch zu keinen effektiven Ergebnis gekommen.
Den Quelltext habe ich ein klein wenig an meine Bedürfnisse angepasst.
Delphi-Quellcode:
Fehlermeldung: 'frmneuerEintrag' enthält kein Element namens 'AddNewLabeledEdit' in Zeile 86.
procedure AddNewLabeledEdit(aLeft, aTop, aWidth: Integer; const aCaption, aName, aParent: string);
[...] implementation [...] procedure TneuerEintrag.AddNewLabeledEdit(aLeft, aTop, aWidth: Integer; const aCaption, aName, aParent: string); //Zeile 86 var lbledt: TLabeledEdit; begin lbledt:=TLabeledEdit.Create(self); lbledt.Left:=aLeft; lbledt.Top:=aTop; lbledt.Width:=aWidth; lbledt.EditLabel.Caption:=aCaption; lbledt.Name:='lbledt'+aName; lbledt.Parent:=aParent; lbledt.Font.Name:='Arial'; lbledt.EditLabel.Font.Name:='Arial'; lbledt.Font.Size:=9; lbledt.EditLabel.Font.Size:=9; lbledt.Show; end; [...] Für die Zeile kommt auch der Fehler, dass bei dem Punkt ein ; erwartet wurde und solche ähnlichen Späße. Bin mir jetzt recht unsicher, wo mein Fehler liegt. |
AW: Eigenschaften von erzeugten Komponenten
Wo genau steht das
Zitat:
|
AW: Eigenschaften von erzeugten Komponenten
Delphi-Quellcode:
So besser?
type
Tneuer_Eintrag = class(TForm) imgLogo: TImage; lblUberschrift: TLabel; lbl1: TLabel; lbledtPNr: TLabeledEdit; mmoBetreff: TMemo; lbl4: TLabel; dtp1: TDateTimePicker; lbl_Datum: TLabel; grp1: TGroupBox; btn3: TBitBtn; btn4: TBitBtn; grp2: TGroupBox; btn1: TBitBtn; btn2: TBitBtn; lbledtZuarbeit: TLabeledEdit; lbledtAblage: TLabeledEdit; dtpSchreiben: TDateTimePicker; lbl2: TLabel; dtpPost: TDateTimePicker; lbl3: TLabel; btnHinzu: TBitBtn; btnAbbrech: TBitBtn; procedure AddNewLabeledEdit(aLeft, aTop, aWidth: Integer; const aCaption, aName, aParent: string); procedure FormShow(Sender: TObject); procedure btnAbbrechClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); |
AW: Eigenschaften von erzeugten Komponenten
OK, das ist schon die richtige Stelle. Auf den ersten Blick kann ich nichts Falsches entdecken, kannst Du die Unit mal anhängen?
|
AW: Eigenschaften von erzeugten Komponenten
Na ja, viel spannendes gibt es da nicht zu sehen.
Delphi-Quellcode:
Danach kommt nix mehr. Ist ja noch alles im Aufbau.
unit frmneuerEintrag;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, jpeg; type Tneuer_Eintrag = class(TForm) imgLogo: TImage; lblUberschrift: TLabel; lbl1: TLabel; lbledtPNr: TLabeledEdit; mmoBetreff: TMemo; lbl4: TLabel; dtp1: TDateTimePicker; lbl_Datum: TLabel; grp1: TGroupBox; btn3: TBitBtn; btn4: TBitBtn; grp2: TGroupBox; btn1: TBitBtn; btn2: TBitBtn; lbledtZuarbeit: TLabeledEdit; lbledtAblage: TLabeledEdit; dtpSchreiben: TDateTimePicker; lbl2: TLabel; dtpPost: TDateTimePicker; lbl3: TLabel; btnHinzu: TBitBtn; btnAbbrech: TBitBtn; procedure AddNewLabeledEdit(aLeft, aTop, aWidth: Integer; const aCaption, aName, aParent: string); procedure FormShow(Sender: TObject); procedure btnAbbrechClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private-Deklarationen } public { Public-Deklarationen } Postart: Integer; end; var neuer_Eintrag: Tneuer_Eintrag; implementation {$R *.dfm} procedure TneuerEintrag.AddNewLabeledEdit(aLeft, aTop, aWidth: Integer; const aCaption, aName, aParent: string); var lbledt: TLabeledEdit; begin lbledt:=TLabeledEdit.Create(self); lbledt.Left:=aLeft; lbledt.Top:=aTop; lbledt.Width:=aWidth; lbledt.EditLabel.Caption:=aCaption; lbledt.Name:='lbledt'+aName; lbledt.Parent:=aParent; lbledt.Font.Name:='Arial'; lbledt.EditLabel.Font.Name:='Arial'; lbledt.Font.Size:=9; lbledt.EditLabel.Font.Size:=9; lbledt.Show; end; procedure Tneuer_Eintrag.btnAbbrechClick(Sender: TObject); begin Close; end; procedure Tneuer_Eintrag.FormShow(Sender: TObject); begin if (Postart=1) then begin lbl_Datum.Caption:='Datum Posteingang:*'; AddNewLabeledEdit(16,86,121,'Anrede:','ABS_Anrede',grp1); end; end; |
AW: Eigenschaften von erzeugten Komponenten
TneuerEintrag <> Tneuer_Eintrag ;) Ich hatte das erst für einen Tippfehler gehalten.
|
AW: Eigenschaften von erzeugten Komponenten
Hallo,
Zitat:
|
AW: Eigenschaften von erzeugten Komponenten
Stimmt, TWinControl wäre passender (evtl. mit Defaultwert auf self) (geht nicht).
|
AW: Eigenschaften von erzeugten Komponenten
*Head meets Desk*
Selber schon bemerkt und korrigiert. Danke für eure Hilfe. ;) So, hoffentlich letzte Frage: Wie bekomme ich die ganzen Komponenten am Ende am elegantesten freigegeben? Wenn ich in das OnClose-Ereignis z.B. "lbledtABS_VName.Free" eingebe, kommt ja 'ne Fehlermeldung á la "undeklarierter Bezeichner", was ja klar ist. (Versuchen kann man es ja trotzdem mal. ;)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 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