![]() |
Problem beim Erstellen eines Labels während der Laufzeit
Hallo,
mein Problem sieht folgendermaßen aus: Ich möchte ein Formular während der Laufzeit erstellen und gleichzeitig Labels einfügen.
Delphi-Quellcode:
So in etwa lautet der Code...
with TNachrichten.Create(self) do
begin for i := 0 to Eingang.Items.Count-1 do begin with TLabel.create(Nachrichten) do begin Parent := Nachrichten; AutoSize := false; Height := 13; Width := 93; Transparent := false; Color := $00000062; Font.Color := clwhite; Left := 13; Top := i * 15 + 35; Name := 'Nachricht_Eingang_'+IntToStr(i); Caption := F_Main.qrmain.fieldbyname('headline').AsString; Tag := i; end; end; end; Ich bekomme keine Fehlermeldung, das Label ist nur nicht sichtbar... Ich hoffe Ihr könnt mir helfen... |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Hast du schon probiert Visible auf true zu setzen?
Falls das nicht klappt, probiers mal mit TStaticText |
Re: Problem beim Erstellen eines Labels während der Laufzeit
visible habe ich schon ausprobiert....
Ist statictext eine andere Komponente?? Wenn ja, dann bringt mir das nichts, bzw. ich möchte bei labels bleiben... |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Den Unterschied zwischen StaticText und Label sieht normalerweise gar kein Mensch. Soviel ich weiß besteht der Einzige Unterschied darin, dass man bei StaticTexts die Möglichkeit hat, diese erhöht oder erniedrigt anzuzeigen. Aber sonst sehen die vollkommen gleich aus, probiers mal in einem Formular im Designmodus.
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
Das gleiche Ergebnis...
könnte es daran liegen, dass ich das Label erstellen will, während das Formular, in dem das Label erzeugt werden soll, erstellt wird?? |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Ich glaube der Unterschied zwischen den beiden ist, dass ein StaticText ein Handle hat und ein Label nicht.
Zitat:
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
Naja... das bringt mich ja nicht wirklich weiter...
Ich hasse solche Fehler, die noch nichtmal während der Laufzeit Fehlermeldungen hervorrufen, stattdessen aber garnichts passiert.... Ich bin langsam am Verzweifeln.... :wall: |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Und, wenn du Show aufrufst?
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
hilft leider auch nicht....
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
Hast du schon mal geschaut, ob die Schleife überhaupt durchlaufen wird?
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
Zitat:
Vielleicht steht da ja gar nichts drin |
Re: Problem beim Erstellen eines Labels während der Laufzeit
was steht denn in
Delphi-Quellcode:
drin
Eingang.Items.Count
wenn das 0 ist wird auch kein label erzeugt. raik |
Re: Problem beim Erstellen eines Labels während der Laufzeit
die schleife wird durchlaufen...
Es sind auch werte vorhanden... es geht halt nur ums grundsätzliche, dass die Labels nicht angezeigt werden... Ich könnte in der Caption auch etwas anderes reinschreiben (getestet!) und das Ergebnis würde das Selbe sein... |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Moin Hazardos,
was mir im Moment komisch vorkommt:
Delphi-Quellcode:
with TNachrichten.Create(self) do
Delphi-Quellcode:
hängen Nachrichten und TNachrichten zusammen?
with TLabel.create(Nachrichten) do
begin Parent := Nachrichten; Bzw. Was ist Nachrichten? |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Nachrichten ist ein Formular, welches ich so genannt habe. mit TNachrichten.create erstelle ich das formular und es wird auch angezeigt...
|
Re: Problem beim Erstellen eines Labels während der Laufzeit
Ich habe es jetzt umgeschrieben, da wohl keiner dieses Problem für diese Methode Lösen konnte....
Meine Lösung sieht so aus:
Delphi-Quellcode:
Nachrichten := TNachrichten.Create(self); // neue zeile
with Nachrichten do // war: with TNachrichten.Create(self) do begin for i := 0 to Eingang.Items.Count-1 do begin with TLabel.create(Nachrichten) do begin Parent := Nachrichten; AutoSize := false; Height := 13; Width := 93; Transparent := false; Color := $00000062; Font.Color := clwhite; Left := 13; Top := i * 15 + 35; Name := 'Nachricht_Eingang_'+IntToStr(i); Caption := F_Main.qrmain.fieldbyname('headline').AsString; Tag := i; end; end; end; |
Re: Problem beim Erstellen eines Labels während der Laufzeit
Moin Hazardos,
das war es, worauf ich hinaus wollte. Wenn Du der Variablen Nachrichten nicht die Adresse einer Instanz von TNachrichten zuweist, so dass Nachrichten einen ungültigen Pointer, oder nil enthält, hat die Zuweisung
Delphi-Quellcode:
zur Folge, dass nichts angezeigt wird, da es ja Nachrichten nichts verwendbares enthält.
Parent := Nachrichten;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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