Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TFrame ableiten

53 views
Skip to first unread message

Markus Wagner

unread,
May 14, 2002, 8:24:45 AM5/14/02
to
Hi,

wenn ich eine Frame-Klasse von einer anderen ableite (durch manuelles
Ändern des Codes), dann erhalte ich Fehlermeldungen beim späteren Öffnen
des abgeleiteten Frames (TabOrder does not exist).
Woran liegt das?

Danke,
Markus

Andreas Kardin

unread,
May 14, 2002, 10:04:50 AM5/14/02
to
Markus Wagner wrote :

Wenn Du nur im Code ableitest, kriegt das Component-Streaming die
Vererbung nicht mit. D.h. die Eigeschaften des Eltern-Frames wurden
nicht in der .dfm-Datei des Childframes gespeichert od. er findet sie
nicht. Ich bin mir nicht sicher, ob er auf die DFM-Datei des
Elternframes verlinkt od. ob die Daten kopiert werden

Ich hab mich auch schon über solche Probleme geärgert und dies meist so
gelöst, dass ich neue Frames sauber über die IDE abgeleitet und danach
via Cut-Copy-Paste die Komponenten und den Code rüberkopiert habe.

Theorethisch müsste es auch gehen, die DFM-Datei zu ergänzen. Dazu
müsste man aber genau angucken, wie das ganze im Detail aussieht. Schau
Dir mal die .dfm-Datei an. Oeffne dazu den Frame (Ansicht des
Frames-Fensters nicht des Codes) und wähl im Kontext-Menü (rechte Maus)
das Menü "View as Text" bzw. "Ansicht als Text". Je nach dem, wie das
gehandelt wird, müsste es gehen, die notwendigen Einträge aus dem
Elternframe zu kopieren od. im Childframe irgendwie beizubringen, wo die
Daten für die geerbten Komponenten liegen. IIRC hat Marian vor nicht all
zu langer Zeit mal etwas in dieser Richtung gepostet.

Grüsse

--
Andreas Kardin - Software Developer - ma...@mephzara.com

Creator of the 'Particle Systems Screen Saver'
- http://www.mephzara.com/particle-systems

Markus Wagner

unread,
May 15, 2002, 1:09:04 AM5/15/02
to
Hi Andreas,

ich würde auch gerne über die IDE ableiten, aber ich habe diese Funktion
noch nicht gefunden (Delphi 6), d. h. die einzige Möglichkeit zum Ableiten
fand ich bei der Erstellung von Packages. Wie gehst Du dabei vor?

Gruss,
Markus

Andreas Kardin

unread,
May 15, 2002, 3:36:59 AM5/15/02
to
Markus Wagner wrote :

Nimm's nicht persönlich u. tragisch... aber :) versuch bitte in Zukunft nur
noch das zu zitieren, auf das Du Bezug nehmen willst und schreib Deine
Antworten immer jeweil unter den Teil, auf den sich Dein Text bezieht.

> ich würde auch gerne über die IDE ableiten, aber ich habe diese
> Funktion noch nicht gefunden (Delphi 6), d. h. die einzige Möglichkeit
> zum Ableiten fand ich bei der Erstellung von Packages. Wie gehst Du
> dabei vor?

Ich geh in meine Delphi 6 IDE und öffne das Projekt. Dann geh ich ins Menü
Datei->Neu->Andere od. so ähnlich (hab im Moment das engl. installiert
File->Other. Dann geht ein Fenster mit einer Registerkarte auf. Da müsste
nun einer Registerkarte (ein Tab) mit dem Namen Deines Projektes sein.
Wähle dieses aus und finde dort den Frame, von dem Du ableiten willst.
Klickk Ihn an. Unterhalb der Registerkarte müsste die Option "Vererben" als
einzige aktiv sein. Klick auf Ok und Du hast Deinen vererbten Frame. BTW
mit Forms funzt's gleich.

Hans Lesmeister

unread,
May 15, 2002, 4:23:52 AM5/15/02
to
Bitte keine TOFU's

>ich würde auch gerne über die IDE ableiten, aber ich habe diese Funktion
>noch nicht gefunden (Delphi 6), d. h. die einzige Möglichkeit zum Ableiten
>fand ich bei der Erstellung von Packages. Wie gehst Du dabei vor?

Wenn Du Deine Basisframe im Projekt hast und dann über File / New den
Reiter wählst mit Deinem Projektnamen, müsste die Basisframe dort
auftauchen.

Inherited-Radiobox aktivieren und dann ein Doppelklick auf die
Basisframe et voila :-)

Gruß
Hans

--
Ajax Amsterdam Nederlands kampioen 2002
en Nederlands bekerwinnaar 2002
Emprise Software + Consulting GmbH
http://esc.emprise.de

0 new messages