![]() |
Caption eines dyn. erzeugten Panels wird nicht angezegt
Hallo,
ich habe folgenden(gekuerzten) Code:
Code:
Das klappt auch so, nur die Caption wird nicht angezeigt, obwohl beim Debuggen in diese Zeile gesprungen wird.
for i:=0 to anzahl_panels -1 do begin
panels[i]:= tpanel.create(fdirectsync); with panels[i] do begin name:= 'Panels'+inttostr(i); caption:= ''; parent:= fdirectsync.ScrollBox1; hint:= adoquery.FieldDefs.Items[i].FieldClass.ClassName; if (hint='TAutoIncField') and (adoquery=dm_data.aq_target) then Caption:= 'Einem AutoInc - Feld kann kein Wert zugewiesen werden'; end; Aendere ich jedoch die 2.Zeile zu panels[i]:= tpanel.create(fsourcetarget) um, so klappt es. (Das will ich aber eigentlich nicht, da ich dann 100 FindComponent Prozeduren umschreiben muss). Der Code stammt aus der Unit von fsourcetarget. Wiso wird die Caption so nicht angezeigt? Gruss und Dank lkz633 |
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
hallo,
habe mal deinen code überflogen. in caption steht nichts drin?
Delphi-Quellcode:
raik
caption:= '';
|
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
Sorry, aber :lol:
Entweder du hast dich vertippt, oder nochmal :lol: |
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
hallo,
in der vorletzen Zeile kommt doch nochmal ein Caption lkz633 |
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
Hallo,
wenn die Bedingung nicht stimmt wird aber in die Caption nicht geschrieben!! Gruß s14 |
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
Danke fuer eure Antworten, aber bitte lest doch das Posting genau, bevor Ihr solche Antworten gebt.
Gruss lkz633 |
Re: Caption eines dyn. erzeugten Panels wird nicht angezegt
Moin Moin.
Ich vermute das Problem liegt wirklich am Konstruktor des Panels. Er verlangt nach einem Owner. Das Panel scheint sich anders zu verhalten, wenn nicht der "richtige" Owner angegeben wurde. Das Argument, nicht alle 100 FindComponent Methoden umzuschreiben kann ich so nicht gelten lassen: 1. Wenn du 100 mal eine Methode hast, die das gleiche/ähnliche macht, solltest du überlegen, wie du sie zusammenfassen/zentralisieren kannst. Denn eine so große Verteilung von ähnlichem Code steigert die Gefahr von Bugs und ist kein guter Stil. 2. Jede Arbeit hat auch ihre Schattenseiten :-) 3. Suchen/Ersetzen (sollte man mit Vorsicht einsetzen) Warum sich das Panel so verhält, kann ich aus dem Stehgreif auch nicht sagen. Aber ich werd mich mal kundig machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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