Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   TFrame lässt sich nicht mehr öffnen (https://www.delphipraxis.net/155704-tframe-laesst-sich-nicht-mehr-oeffnen.html)

Nersgatt 4. Nov 2010 12:40

TFrame lässt sich nicht mehr öffnen
 
Moin zusammen,

ich habe etwas Probleme mit einem TFrame unter Delphi 2010.
Dieses Frame ist eine Ableitung eines anderen Frames (TfrBase). Wenn ich eine Instanz des Frames erstelle, bekomme ich die Fehlermeldung :
Zitat:

Fehler beim Lesen von frTouchscreenInfo.ClientHeight: Eigenschaft ClientHeight existiert nicht.
ClientHight für Frames?!? Wenn ich das Frame nun in der IDE öffne, wird mir das Frame so angezeigt, als wäre es ein Formular! (mit Rahmen, etc). Im Objektinspektor wird auch z.B. ClientHeight angezeigt.
Öffne ich die DFM-Datei, so steht auch z.B. ClientHeight drin. Wenn ich alles rauslösche, was in die DFM für ein Frame nicht reingehört, dann kann ich manchmal das Frame wieder normal wie ein Frame behandeln (ein System hab ich darin nicht erkannt). Es funktionert dann auch zur Laufzeit wieder. Aber nach 3-4 Änderungen meckert er wieder und die "falschen" Eigenschaften stehen wieder in der DFM-Datei.
Es sind auch noch einige andere Eigenschaften, die dann fälschlicherweise hinzugefügt werden.

Alle anderen Frames, die von TfrBase abgeleitet sind, funktionieren wunderbar. Ich kann sie öffnen, bearbeiten, etc. Sie verhalten sich ganz normal.

Ich bin mit meinem Latein am Ende. Habt ihr einen Tipp für mich?

Danke!

PS: Eine Ergänzung noch: Es kommt sogar vor, dass mir dabei die PAS-Datei an einer Stelle mitten im Code einfach abgeschnitten wird. Der Rest fehlt dann einfach, ist einfach weg.

Nersgatt 5. Nov 2010 13:10

AW: TFrame lässt sich nicht mehr öffnen
 
Keine eine Idee dazu? Wilde haltlose Spekulationen werden auch gern entgegengenommen. :-D

Bummi 5. Nov 2010 13:34

AW: TFrame lässt sich nicht mehr öffnen
 
also Spekulation

wie sieht die Deklaration im Projekt aus
Delphi-Quellcode:
  Unit3 in 'Unit3.pas' {Frame3: TFrame};

Nersgatt 5. Nov 2010 13:59

AW: TFrame lässt sich nicht mehr öffnen
 
Spekulatius ist besser, als gar keine Kekse. :D

Sieht eigentlich normal aus:

Delphi-Quellcode:
UfrTouchscreenInfo in 'Source\UfrTouchscreenInfo.pas' {frTouchscreenInfo: TFrame},


auch in der .dproj nichts auffälliges:
Code:
         <DCCReference Include="Source\UfrTouchscreenInfo.pas">
            <Form>frTouchscreenInfo</Form>
            <DesignClass>TFrame</DesignClass>
         </DCCReference>

Lemmy 5. Nov 2010 18:57

AW: TFrame lässt sich nicht mehr öffnen
 
Hi,

wie wäre es mit: mach ein neues Kind vom Basisframe und kopier den Inhalt des "defekten" ins neue rein, incl. Sourcen und schmeiß das alte Frame weg...

Grüße

Anatolij Gepper 28. Dez 2011 08:48

AW: TFrame lässt sich nicht mehr öffnen
 
Mann kann das Problem einfacher lösen: In .dfm von Kind-Form Schlüsselwort "object" am Anfang, soll durch "inherited" ersetzt werden. Ach überfüssigen Proterties wie ClienHight/Width etc. sollten gelöscht werden.

Jumpy 28. Mai 2013 15:03

AW: TFrame lässt sich nicht mehr öffnen
 
Hallo,

älterer Thread, selbes Problem. Auch Delphi 2010.

Ein im Prinzip noch ganz leeres Projekt.
Ein Basis-Frame "TBaseFrame" davon erbt ein TTestFrame.

Beide units dazu sind im der Unit des Hauptformulars eingebunden.

Und im OnClick eines Buttons einfach:
Delphi-Quellcode:
var f:TBaseFrame;
begin
  f:=TTestFrame.Create(self);
  f.Show;
end;
Es kommt auch der Fehler mit Eigenschaft ClientHeight kann nicht gefunden werden.

Gibt es da mittlerweile nähere Erkenntnisse zu? Ist das ein Bug in Delphi2010?
Ich hab vergleichbare Konstrukte in Delphi 6 problemlos im Einsatz und möchte ungern in der .dfm rumfummeln, weil ich keine Ahnung habe, was ich da mache.

haentschman 28. Mai 2013 17:41

AW: TFrame lässt sich nicht mehr öffnen
 
Schau auf #6. Das ist der Klassiker wenn man man meint einen Frame eine Ebene in der Hierarchie nach unten zu verfrachten und im Quelltext Tframe austauscht.

Jumpy 29. Mai 2013 08:34

AW: TFrame lässt sich nicht mehr öffnen
 
Ja so hab ich das leider gemacht. Ich hab aber #6 probiert und das hat nicht geholfen. Gestern.
Heute hab ich das mit einem Texteditor nochmal gemacht, die IDE war noch "aus", und seitdem geht's.
Danke.

Ich schmeiß immer alles aus dem Projekt raus ausser der Hauptanwendung. Alle Forms und Frames erzeuge ich dann nur da, wo ich die brauche. Habe erst gerade gemerkt, das mir deswegen mein BaseFrame nicht bei der Neuerstellung eines Frames als Vererbbares Elemet zur Verfügung steht. Werde als Lektion für die Zukunft in solchen Fällen das Basis-Objekt im Projekt belassen.


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