![]() |
Form aus zweiter Unit erstellen.
Hi Delphianer ich habe eine form mit einem Knopf der beim Drücken eine neue Form erstellen soll.
Delphi-Quellcode:
Unit 2 zum erzeugen der 2. Form
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Unit2; type TForm1 = class(TForm) BitBtn1: TBitBtn; procedure BitBtn1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin CreateNewForm('Hallo'); end; end.
Delphi-Quellcode:
irgendwie funktioniert das nicht weis wer was ich falsch mache?
unit Unit2;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons; type TForm2 = class(TForm) procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Déclarations privées } public { Déclarations publiques } end; function CreateNewForm(Message: String) : string; var Form2: TForm2; implementation procedure Tform2.FormClose(Sender: TObject; var Action: TCloseAction); begin Form2.Free; end; function CreateNewForm(Message: String) : string; begin Form2 := TForm2.Create(application); Form2.Show; Form2.OnClose := Form2.FormClose; // assign onclick handler result := ''; end; end. grüsse Zodi |
AW: Form aus zweiter Unit erstellen.
Zitat:
Was genau meinst Du mit "irgendwie funktioniert das nicht"? |
AW: Form aus zweiter Unit erstellen.
Hi Zodie
Zitat:
Gruss Delbor |
AW: Form aus zweiter Unit erstellen.
Fehlermeldung ist. "Resource nicht gefunden."
Geplant ist es so das mein programm das eine Konsole App soll bei einem Ereignis eine Form erzeugen |
AW: Form aus zweiter Unit erstellen.
Hi Zodi
Das ist schon im Ansatz falsch - Ironie der Geschichte: Deine erste Unit ist zwar für eine Formunit fehlerfrei. Aber wenn du eine ![]() Ich hab sowas noch nie gemacht (der Ansatz könnte aber interessant sein), aber ich denke, die Konsolen- und die VCL-Anwendung müssen zwei verschiedene Apps sein. Wenn Delphi mit der Fehlermeldung abbricht: "Resource nicht gefunden." wo steht dann der Cursor? Gruss Delbor |
AW: Form aus zweiter Unit erstellen.
hallo,
koennte daran liegen in unit2
Delphi-Quellcode:
einfugen
implementation
{$R *.dfm} Gruß |
AW: Form aus zweiter Unit erstellen.
Zitat:
und eine Leere Windows Anwendung. dann schau dir mal die beiden generierten .dpr dateien in einem Texteditor an. Das dürfte dir die Schwierigkeit deines Ansatzes erklären. Formulare brauchen eine message loop. Diese Loop liefert Application.run; |
AW: Form aus zweiter Unit erstellen.
Zitat:
Ich kenne einige Programme die ein Konsolenfenster haben und trotzdem eine normale Programmoberfläche. Das bekannteste ist wohl Blender. Die einzige Frage die sich mir stellt ist, was passiert wenn man ein Application object erstellt und das Hauptform erzeugt, ob das den Consolenoutput zerhaut. Aber probieren geht über studieren! |
AW: Form aus zweiter Unit erstellen.
Ja, aber dennoch ist das nötig, was genannt wurde :!:
* VCL-Anwendung erstellen und {$APPTYPE CONSOLE} in die DPR * VCL-Anwendung erstellen und ![]() * VCL-Anwendung erstellen und ein eigenes console-ähnliches VCL-Fenster bauen (z.B. mit einem Memo drin) * Konsole-Anwendung erstellen, aber für die VCL "manuell" regelmäßig die Messages behandeln ![]() hier hatte ich mal mit AllocConsole/AttachConsole rumgespielt |
AW: Form aus zweiter Unit erstellen.
Hi Sinspin
Zitat:
Zitat:
Inzwischen hab ich himitsus Beitrag gesehen, und da wurde ja offensichtlich das Gegenteil bewiesen. Gruss Delbor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz