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 Eigenes Frame ableiten - funktioniert leider nicht (https://www.delphipraxis.net/112180-eigenes-frame-ableiten-funktioniert-leider-nicht.html)

angelika81 16. Apr 2008 11:33


Eigenes Frame ableiten - funktioniert leider nicht
 
Hallo,

hier im Forum wurde schon öfters geschildert, wie man eigene Frames ableiten kann. Das geht mittlerweile ja nun sehr schön über Datei->Neu->Weitere und dann über "Vererbbare Elemente". Bei mir erscheint dieser Punkt nur, wenn ich Frames in einem frischen Projekt unter meinem Delphi 2007 angelegt habe.

In meinem Projekt, was ich in Delphi 2006 begonnen hatte und nun importiert habe, wird dieser Menüpunkt nicht angezeigt, obwohl genügend Frames vorhanden sind. Woran liegt das ? Er findet die Frames anscheinend nicht richtig?

Ich habe versucht, in der Quelltextdatei des Frames einfach folgendes zu schreiben:
Delphi-Quellcode:
inherited NeuesFrame: TAltesFrame
end
Da sagt er mir aber, dass er TAltesFrame nicht findet. Wenn ich es darüber bei den uses einfüge (ich weiß nicht, ob man das so machen kann), sagt er, es sein ein ungültiges Stream-Format.

Was kann ich da machen?
Dankeschön!
angelika

Nuclear-Ping 16. Apr 2008 11:38

Re: Eigenes Frame ableiten - funktioniert leider nicht
 
Delphi-Quellcode:
unit MeinFrame;

uses
  ...

interface

type
  TMeinFrame = class (TFrame) // <<-- Ableitung
  public
    //
  private
    //
  end;

implementation

...
end.

angelika81 16. Apr 2008 11:40

Re: Eigenes Frame ableiten - funktioniert leider nicht
 
Hallo,

ich möchte das Frame aber visuell ableiten. Wenn ich das so mache, zeigt Delphi mir nicht den Quellframe an. :cry:

Nuclear-Ping 16. Apr 2008 12:10

Re: Eigenes Frame ableiten - funktioniert leider nicht
 
Bei mir im Delphi 6 hab ich ein Menü "Komponente". Dort kann ich "Neue Komponente" und bekomme einen Dialog, wo ich Vorfahrtyp (TFrame) usw. einstellen und die neue Komponente direkt installieren kann.

Gibts das bei dir auch?

shmia 16. Apr 2008 12:16

Re: Eigenes Frame ableiten - funktioniert leider nicht
 
Zitat:

Zitat von angelika81
hier im Forum wurde schon öfters geschildert, wie man eigene Frames ableiten kann.

Und ob wohl immer wieder versucht wird, Frames abzuleiten, geht das regelmässig in die Hose.
Frames wurden erst mit Delphi 5 (oder war's 4) eingeführt und sind bis heute nicht 100% fehlerfrei.
==> man soll Frames nicht ableiten, das gibt nur Schwierigkeiten

Muetze1 17. Apr 2008 00:11

Re: Eigenes Frame ableiten - funktioniert leider nicht
 
Zitat:

Zitat von shmia
Frames wurden erst mit Delphi 5 (oder war's 4) eingeführt und sind bis heute nicht 100% fehlerfrei.
==> man soll Frames nicht ableiten, das gibt nur Schwierigkeiten

Ohne Probleme seit mehreren Jahren und in mehreren Projekten. Ist genauso sicher wie auch unsicher wie Form Ableitungen, aber grundlegend keine Problem bei beiden Arten.

@Angelika: Ich habe eine Vermutung zu deinem Problem. Hast du in der Projektverwaltung vor den den im Projekt befindlichen Frames ein Plus-Kästchen zum aufklappen? Im Normalfall listet er dann die Pascal Quelle und das DFM auf. Wenn dies nicht der Fall ist, dann ist der IDE nicht bewusst, dass es eine DFM zu der Pascal Quelle gibt. Und wenn der IDE dies nicht bewusst ist, dann bietet er die jeweilige Datei nicht in der Frame Liste für die vererbaren Elemente an.

Wenn die oben genannte Vermutung zutreffend ist, ein kleiner Exkurs wie die IDE dies handhabt: Die IDE hat im Gegensatz zu den C++ Projekte/Libraries, etc keine spezielle Projektdatei wo die Units aufgelistet werden. Dies geschieht bei Delphi Projekten noch immer im DPR File, kompatibel zu Pascal. Somit mussten sie diese Liste entsprechend erweitern um eine DFM Datei zu vermerken. Dies geschieht durch einen Kommentar in der uses Anweisung hinter der Datei und dem "IN" Schlüsselwort und der Pfad/Dateiangabe. Der Kommentar muss vor dem Listentrenner (, bzw. ; am Ende) auftauchen. Der Kommentar an sich enthält nur den Klassennamen ohne das vorangestellte T.

Beispiel ohne DFM Referenz im Projektmanager:
Zitat:

Zitat von kaputte DPR
..
frmCommonEditForm in 'Forms\frmCommonEditForm.pas',
..

Beispiel mit DFM Referenz
Zitat:

..
frmCommonEditForm in 'Forms\frmCommonEditForm.pas' {frmEditForm},
..
Seit der Neuentwicklung der IDE mit Delphi 2005 und den folgenden BDS 2006 und RAD 2007 ist ein Fehler hinein gekommen, so dass unter manchen Umständen diese Kommentare rausfliegen. Wann und wie konnte ich noch nicht näher spezifizieren, somit konnte ich noch keinen QC Eintrag erstellen. Ohne Reproduzierbarkeit werden die Einträge sonst (fast) sofort geschlossen, somit ist noch keine Lösung für diesen sporadischen Fehler bekannt. Aber wodran es liegt ist somit bekannt und kann schnell korrigiert werden.

HTH
Muetze1


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