Vererbung von Formularen im Formular-Designer

Für Fragen rund um die Ide und zum Debugger
Antworten
u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Vererbung von Formularen im Formular-Designer

Beitrag von u-boot »

Ich möchte ein Formular

Code: Alles auswählen

TParentForm=Class(TForm)
als Vorlage im Formulardesigner

Code: Alles auswählen

TChildForm=Class(TParentForm)
weiterbearbeiten.

Ist der Formulardesigner für solche Vorhaben überhaupt geeignet ?

Wie muss die .lfm Datei für sowas aussehen ?
Kann diese automatisch erstellt werden lassen ?

Bisher bekomme ich leider einen Fehler:
EClassNotFound: Klasse TPanel konnte nicht gefunden werden.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Vererbung von Formularen im Formular-Designer

Beitrag von Socke »

Im Lazarus-Menü: Datei -> Neu ... -> Abgeleiteter Punkt -> Abgeleitete Projekt-Komponente
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Vererbtes Formular gekapselt aufrufen

Beitrag von u-boot »

Dankeschön. Habe festgestellt, dass ich den Fehler so leider nicht ausräumen kann.
Da ich an dem besagten Fehler (EClassNotFound: Klasse TPanel kann nicht gefunden werden) überhaupt nicht weiterkomme, habe ich das Projekt mal kopiert und einiges an Ballast weggelöscht (Den Fehler hab ich noch drin).

Da ich mir nicht vorstellen konnte, wo jetzt TPanel überhaupt gesucht wird, habe ich in all meinen Units die StdCtrls und ExtCtrls in uses aufgenommen. Geholfen hats auch nicht....

Ich weiss, dass der Aufbau meiner Klassen/Units evtl nicht optimal ist.

Kurz zum Aufbau:

Die Units mit der Endung "Main" enthalten eine nicht-visuelle Komponente, deren eigentliche Funktionen noch nicht weiter implementiert sind.

Units mit Endung "Visual" enthalten eine visuelle Komponente die in der Main-Komponente gekapselt erstellt wird.

Units mit Endung "OptForm" enthalten eine von TForm abgeleitete Komponente, die von der Visual-Klasse aufgerufen werden soll (per Klick). Beim Versuch dies zu tun wird der Fehler ausgelöst (also klicken!).

P.S.: Falls einer nebenher noch sieht, warum das SetShape in dem Projekt anscheinend auch nicht mehr funktioniert, wärs auch toll mich zu informieren. Obwohl es nicht das Hauptproblem ist.

Wär schön wenn mir jemand erklären könnte, warum es nicht funktioniert oder korrigiertes/neues Beispielprojekt zusenden könnte.
Dateianhänge
fehlerprojekt.zip
(194.92 KiB) 89-mal heruntergeladen
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Yogi72108
Beiträge: 22
Registriert: Fr 10. Feb 2012, 19:09
OS, Lazarus, FPC: Debian wheezy (FPC 2.7.1 SVN 29278; Laz 1.3 SVN 47189)
CPU-Target: 32Bit
Wohnort: im Schwabenländle

Re: Vererbung von Formularen im Formular-Designer

Beitrag von Yogi72108 »

Hallo

Du hast bei Deinen Änderungen irgendwie den Zusammenhang zwischen der customslogsnodeoptform.pas und der customslogsnodeoptform.lfm zerschossen (wie auch immer).
Jedenfalls ist in der lfm-Datei das Panel1:TPanel drin aber in der pas-Datei ist es nicht mehr da. Ergänze mal in der pas-Datei folgendes:

TCustomSLOGSnodeOptForm = class(TForm)
Panel1 : TPanel; // <= Das war sicher früher mal drin
ButtonCancel: TButton;
ButtonOK: TButton;

Zum Ändern musst Du die Datei ja laden; dabei kommt der Fehler. Diesen "ignorieren" und dann die Änderung vornehmen, abspeichern und den Editortab schließen. Beim nächsten laden sollte es wieder gehen.

Hoffentlich hilft das weiter
Yogi

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Vererbung von Formularen im Formular-Designer

Beitrag von u-boot »

Hi Yogi

:shock: aua ... ja mit der Zeile gehts. Auf so nen "Mist" wär ich nie gekommen......

Dankeschön für die viele Mühe und das zu dieser Stunde.

Viele Grüße
u-boot
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Yogi72108
Beiträge: 22
Registriert: Fr 10. Feb 2012, 19:09
OS, Lazarus, FPC: Debian wheezy (FPC 2.7.1 SVN 29278; Laz 1.3 SVN 47189)
CPU-Target: 32Bit
Wohnort: im Schwabenländle

Re: Vererbung von Formularen im Formular-Designer

Beitrag von Yogi72108 »

War keine Mühe, die Fehlermeldung kannte ich aus eigener Erfahrung :oops:

Antworten