![]() |
Edit nach Create leeren
hi
ich hab eigentlich ne ganz simple frage: ich hab mir meine eigene Komponente von TRichEdit abgeleitet und nun möchte ich das das Edit nach dem erstellen geleert wir(clear). Wo muss ich das rein schreiben? Bei Create kann ichs ja nicht machen das das fenster(also das Edit) zu diesem Zeitpunkt nicht erstellt wurde. |
Re: Edit nach Create leeren
Dann mach es doch im Konstruktor der Komponente.
MfG Binärbaum |
Re: Edit nach Create leeren
ist nicht das Create der Constructor? :gruebel:
Delphi-Quellcode:
constructor Tmeinedit.Create(AOwner: TComponent);
begin inherited Create(AOwner); end; |
Re: Edit nach Create leeren
Ja, versuchs mal nach dem Inherited. Sollte eigentlich funktionieren.
Greetz alcaeus |
Re: Edit nach Create leeren
das war ja auch mein erste gedanke und ich habs probiert...
wenn ichs zur designer zeit dann aufs form ziehem will kommt: "Control has no Parent Window" |
Re: Edit nach Create leeren
Das scheint mir aber nicht wirklich damit zusammenzuhängen. Schmeiß mal die Zeile mit Lines.Clear raus und probier es dann nochmal. Scheint so als würde es da ein anderes Problem geben...
Greetz alcaeus |
Re: Edit nach Create leeren
dann gehts ja....
aber solange es drin ist bekomme ich die fehlermeldung |
Re: Edit nach Create leeren
Zitat:
|
Re: Edit nach Create leeren
Delphi-Quellcode:
unit dddEdit;
interface uses Windows, Messages, SysUtils, Classes, Controls, StdCtrls, ComCtrls, Dialogs, Graphics; type TdddEdit = class(TRichEdit) {...} public { Public declarations } constructor Create(AOwner: TComponent); override; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TdddEdit]); end; constructor TdddEdit.Create(AOwner: TComponent); begin inherited Create(AOwner); Width := 121; Height := 21; Lines.Clear; end; |
Re: Edit nach Create leeren
Wundert mich irgendwie nicht, dass zu diesem Zeitpunkt (also im Konstruktor) auf Lines nicht zugegriffen werden kann. Wenn man in den Units sieht, wie Lines in TRichEdit (und Vorfahren) implementiert ist ... Da begreife ich nichts von. :cry:
Zur Laufzeit erstellte TRichEdits sind übrigens leer. Nur die zur Designzeit erstellten haben ihren eigenen Namen in der ersten Zeile. Aber das nur so nebenbei. Benutze statt Lines.Clear ein einfachen Text:=''; Das sollte hinhauen. |
Re: Edit nach Create leeren
funktionier ebenfalls nicht. ich hab das nun doch anders gelöst. von daher hat sich eigentlich meine frage erledit... falls aber jemand doch ne ahnung warum das nicht geht wäre ich trotzdem dankbar :wink:
|
Re: Edit nach Create leeren
Zitat:
|
Re: Edit nach Create leeren
Zitat:
Beim Erzeugen einer Komponente spielt sich folgendes ab: Speicherplatz wird reserviert, die Methode Create wird aufgerufen. Falls die Komponente auf einem Formular liegt, werden zusätzlich die Eigenschaften aus der DFM-Datei auf die Komponente kopiert. Danach wird die virtuelle Methode Loaded der Komponente aufgerufen. (Hier könnte man eingreifen) Wenn man möchte, dass ein TRichEdit leer ist, braucht man doch nur Lines im Objektinspektor leeren. |
Re: Edit nach Create leeren
Zitat:
Also: Was ging daran nicht? |
Re: Edit nach Create leeren
folgendes ich wollte das zur designer und dann halt zur Laufzeit kein text in dem Feld drin steht. da ich aber daruf hingewiesen wurde das das bei edits die zur laufzeit erstellt worden sind nicht der fall ist mach ich das dann halt immer so das ich alle zur laufzeit erstelle...
Das war schon alles was ich gemeint habe :roll: |
Re: Edit nach Create leeren
Zitat:
Wenn es dir lediglich darauf ankommt, zur Laufzeit (bzw. beim Start) des Programmes leere Edits zu haben, dann kannst du sie auch getrost zur Designzeit auf dein Form ziehen und im OnCreate des Forms folgendes machen:
Delphi-Quellcode:
Damit sind sie auch leer, bevor du sie im Programm zu sehen bekommst.
procedure TForm1.FormCreate(Sender: TObject);
begin dddEdit1.Lines.Clear; dddEdit2.Lines.Clear; end; |
Re: Edit nach Create leeren
Zitat:
Greetz alcaeus |
Re: Edit nach Create leeren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 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 by Thomas Breitkreuz