Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Labels verschwinden vom Frame (https://www.delphipraxis.net/77133-labels-verschwinden-vom-frame.html)

Relicted 15. Sep 2006 06:53


Labels verschwinden vom Frame
 
Mahlzeit!

Ich habe mehrere Frames in einem Formular eingebunden - dabei tut sich dann ein problem auf.

In einem Frame fehlen zur laufzeit - und nur zur laufzeit - die kompletten labels - in den anderen frames sind sie vorhanden.

das standardprozedere habe ich abgearbeitet: propertys überprüft, repaints gemacht, frame neu eingeladen etc.

Das ganze ist unter Delphi 7 - jemand die selben erfahrungen gemacht und vielleicht eine lösung gefunden?

wenn ich den frame mehrfach hintereinander visible mache sehe ich für kurze zeit mal die labels aufblinken danach sind sie aber sofort wieder weg.

Gruß
reli

marabu 15. Sep 2006 07:41

Re: Labels verschwinden vom Frame
 
Hi,

ich vermute, dass deine Label-Komponenten durch einen dummen Zufall gar nicht auf dem fraglichen Frame platziert worden sind. Du kannst das in der IDE zur Entwurfszeit überprüfen, indem du einen solchen Label auswählst und per Esc-Taste die Kette der Parents verfolgst. Ansonsten musst du mal deine DFM-Dateien online stellen.

Grüße vom marabu

Relicted 15. Sep 2006 07:48

Re: Labels verschwinden vom Frame
 
mahlzeit!

doch ist alles vorhanden - werden ja auch kurzzeitig angezeigt..

ich hab die dinger jetzt mal gelöscht und erzeuge sie beim show aufruf des frames.
beim ersten aufruf sind die jungs noch da - danach verschwinden sie wieder. irgendwie glaub ich ist der frame verhext.

Delphi-Quellcode:
  if ( not Assigned( m_coLabelRuleEditor ) ) then
  begin
    m_coLabelRuleEditor := TLabel.Create( self );
    with m_coLabelRuleEditor do
    begin
      Parent := self;
      Left := 8;
      Top := 216;
      Width := 41;
      Height := 13;
      Caption := 'Regeln';
      Font.Charset := DEFAULT_CHARSET;
      Font.Color := clWindowText;
      Font.Height := -11;
      Font.Name := 'MS Sans Serif';
      Font.Style := [fsBold];
      ParentFont := False;
      Visible := true;
    end;
  end;
da ich den frame nirgendwo freigebe sondern nur mit visible := true / false arbeite sollten auch die label noch im speicher bleiben. ( gebe sie auch nirgendwo sonst frei )
die propertys der label sind 1:1 copy aus der dfm - bis auf parent und visible

hoika 15. Sep 2006 14:02

Re: Labels verschwinden vom Frame
 
Hallo,

ist im Frame vielleicht noch ein Panel,
der die Labels überlagert und somit versteckt ?

Schau doch mal mit TLabel(FindComponent('LabelX').Caption,
ob überhaupt was drinsteht.
Dazu solltest du den Labels natürlich anständige Namen gebwn.


Heiko

Relicted 15. Sep 2006 14:19

Re: Labels verschwinden vom Frame
 
huhu

ne kein panel drin... hab jetzt ne übergangslösung geschaffen mit der es halbwegs klappt.
trotzdem würd mich da immernoch die antwort interessieren was das fürn komischer bug ist :-)

Shaman 15. Sep 2006 14:32

Re: Labels verschwinden vom Frame
 
Hey there

Ich hatte dieses Problem auch schon einmal, auch in einem Frame. Da es sich um ein grösseres Projekt handelte und das Frame ziemlich viele Controls enthielt, nahm ich an, es wäre ein Darstellungsfehler. Ich ersetzte die betroffenen Labels mit StaticTexts und das Problem war "gelöst" :zwinker:

Greets
Shaman


Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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