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 Fehler beim Öffnen vererbter Formulare (https://www.delphipraxis.net/98273-fehler-beim-oeffnen-vererbter-formulare.html)

oki 24. Aug 2007 10:08


Fehler beim Öffnen vererbter Formulare
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,

ich verzweifel gerade! :wall:

Folgende Situation:
Ich habe in meinem Package-Projekt ein neues Formular erstellt.
Delphi-Quellcode:
unit BaseToolWindow;

interface

uses
  ...

type
  TBaseToolForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    ....
Dieses Formular habe ich mir in die Objektablage in ein neues Unterverzeichnis unter "Delphi-Projekte\Delphi-Dateien" abgelegt.

Jetzt habe ich ein neues Formular von diesem abgeleitet. dies habe ich über "Neu\Delphi-Projekte\Delphi-Dateien\MeineForms" von BaseToolform mittels Vererbung getan.

Soweit alles gut.

Diese sieht wie folgt aus:
Delphi-Quellcode:
unit RTBaseToolWindow;

interface

uses ... BaseToolWindow ...

type
  TRTBaseToolForm = class(TBaseToolForm)
  ....
Rufe ich mein Projekt jetzt neu auf, und öffne meine unit RTBaseToolWindow, so bekomme ich folgenden Fehler (siehe Anhang).

Alle Units sind im gleichen Verzeichnis. Ohne geöffnete Units läßt sich das Package problemlos compilieren und erzeugen.

Wat's datt?

Gruß oki

TBx 24. Aug 2007 10:28

Re: Fehler beim Öffnen vererbter Formulare
 
Hast Du in Deiner Unit RTBaseToolWindow Forms in den Uses stehen?
Wenn nicht, dann rein damit. Dadurch hat sich das Problem bi mir letztes Mal gelöst.

Hope it helps

onlinekater

oki 24. Aug 2007 10:35

Re: Fehler beim Öffnen vererbter Formulare
 
Jooop
Delphi-Quellcode:
unit RTBaseToolWindow;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseToolWindow, Spin, JvColorCombo, Buttons, StdCtrls, JvExStdCtrls,
  JvCombobox, ComCtrls, SeysolControls;

type
  TRTBaseToolForm = class(TBaseToolForm)
  ....

RavenIV 24. Aug 2007 10:48

Re: Fehler beim Öffnen vererbter Formulare
 
Also ich habe das auch bei mir so gelöst.
Ich habe allerdings mein "MasterForm" in das Projekt eingebunden.
in der dpr steht die Zeile:
Delphi-Quellcode:
MasterForm in '..\Templates\MasterForm.pas' {FoMasterForm},
Vielleicht hilft das Dir weiter.

oki 24. Aug 2007 11:06

Re: Fehler beim Öffnen vererbter Formulare
 
Hi RavenIV,

diese Formulare hab ich mit in mein Package genommen und auch in das Package-Projekt eingebunden.
Delphi-Quellcode:
package SeysolPackage;

...

contains
  SeysolControls in 'SeysolControls.pas',
  SeysolImage in 'SeysolImage.pas',
  SeyConLib in 'SeyConLib.pas',
  BaseToolWindow in 'BaseToolWindow.pas',
  RTPanelToolWindow in 'RTPanelToolWindow.pas' {RTPanelToolForm},
  RTLabelToolWindow in 'RTLabelToolWindow.pas' {RTLabelToolForm},
  RTTitleToolWindow in 'RTTitleToolWindow.pas' {RTTitelToolForm},
  RTBaseToolWindow in 'RTBaseToolWindow.pas' {RTBaseToolForm};
Ich hoffe, die reihenfolge hat hier keine Bedeutung (RTBaseToolWindow steht am Schluss!

die Vererbungsreihenfolge sieht wie folgt aus:
BaseToolWindow
|_ RTBaseToolWindow
|_ RTTitleToolWindow
| |_ RTPanelToolWindow
|_ RTLabelToolWindow

Ich denke, wenn die Unit in contains aufgeführt ist, dann entspricht das dem Equivalent der Einbindung in einer dpr.

Jooo :gruebel:

Gruß oki


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