Autor Beitrag
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 07.05.13 13:42 
Hallo,

ich hab eine komische Sache, die ich gerade nicht verstehe.

Ich habe eine neue Unit "FormsNew.pas". Diese unit habe ich in allen Projekt-Dateien in der Uses-List nach "Forms" eingebunden! In der Unit habe ich Folgendes zu stehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  TForm = class(Forms.TForm)
  public
    constructor Create(AOwner: TComponent); override;
  end;
..
..
..
constructor TForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // mache mein neues Zeug hier: --> Funktioniert!
end;


Ich benutze auch viele Frames. Analog zu dazu habe ich Folgendes:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  TFrame = class(Forms.TFrame)
  public
    constructor Create(AOwner: TComponent); override;
  end;
..
..
..
constructor TFrame.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // das wird nicht ausgeführt.
end;


Hat einer eine Ahnung, warum das für TFrame nicht funzt das Create zu überschreiben...?!?! (Helpers gehen auch nicht!)

Danke vorab,

Gruß
rd3
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 08.05.13 09:08 
Bei mir funktioniert das (Delphi XE3). :nixweiss:

Um welche Delphiversion geht es denn?
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 09:38 
XE. Hmm... Das ist ja merkwürdig...
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 09:45 
Hab mal ein Sample abgehangen und kommentiert. in das Forms-OnCreate wird reingesprungen... in das Frame-Ding nicht...?!
Einloggen, um Attachments anzusehen!
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mi 08.05.13 10:02 
Verleg die überschriebene Frame-Klasse in die Frame-Unit, dann geht es. Ansonsten handelt es sich ja trotz Namensgleichheit um unterschiedliche TFrame-Klassen.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 10:08 
Ich hatte das ja in einer anderen Unit. Diese hatte ich dann nach Forms in der uses-List eingebunden. Hab recht viele Frames... In denen möchte ich einfach nur die Unit hinzufügen - fertig. Bei den TForms geht es ja... Weißt du, wie ich das meine?
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mi 08.05.13 10:19 
Ich habe gerade Folgendes probiert: ein Unit namens NewFrame geschrieben.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
unit NewFrame;

interface

uses Classes, Forms;

type
  TFrame = class(Forms.TFrame)
  public
    constructor Create(AOwner: TComponent); override;
  end;

implementation

{ TFrame }

constructor TFrame.Create(AOwner: TComponent);
begin
  inherited//Haltepunkt
end;

end.

Einen Frame erstellt und in dessen Unit als Letztes NewFrame eingebunden. Dann ein Formular erstellt mit diesem Frame darauf und siehe da: der Haltepunkt in NewFrame wird angesprungen. Dann einen weiteren Frame (auch wieder mit der NewFrames-Unit), auf das Formular gepackt und auch dort wirkt der Haltepunkt.
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 10:23 
In dem "echten Projekt" hab ich das exakt so gemacht. Bei mir wird da nicht reingesprungen... Deswegen dieser Thread!
Das ist ja verflixt!
Ich glaube, ich mach erstmal eine andere Baustelle. Vielleicht seh ich den Wald vor lauter Bäumen nicht...?! Danke Euch!
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 10:29 
Hab das Sample-Projekt nochmal aktualisiert. s. Anhang. Da funktioniert es tatsächlich auch... In dem "echten Projekt" geht es nicht. Shit. Dann muss es was anderes sein. Danke.
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 08.05.13 12:03 
Werden die Frames vielleicht manuell erstellt? Ein anderer Konstruktor benutzt?
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.05.13 12:48 
Teilweise neue Constructor. Teilweise zur Design-, teilweise zur Laufzeit erstellt. Manchmal auch virtual und nicht override. Trotzdem schleife ich inherited Create(AOwner) mit. Ich krieg nicht mal diese Kompilier-Bullets an der Seite... Das ist echt sonderbar...