![]() |
Delphi-Version: XE4
InfoBox aus fremden Projekt verwenden
Hallo und guten Morgen.
Ich habe ein klitzekleines Problem. Ich "baue" gerade ein Projekt nach und möchte dafür aus meiner bereits vorhandenen Menüzeile den Punkt "Über" mit einer Infobox belegen. Ich stoße dabei jedoch schon auf das Problem mit der .dfm Datei zur zugehörigen Unit. Diese habe ich im Originalprojekt so abgeändert, wie sie sein soll (geringerer Leistungsumfang sprich weniger Erklärung über die Arbeit des Programmes in der Infobox). Implementiere ich nun die pas + dfm Datei in mein eigenes Projekt, wird mir folgender Fehler im kompilierten Programm ausgegeben: ![]() Erstelle ich jedoch wiederum nur eine neue Unit, so wird mir logischerweise schon weit vorher der Hinweis gegeben, dass es keine dfm Datei zur pas Datei der Unit gibt. Meine Frage wäre jetzt folgende: Der Quellcode der Unit steht soweit, ich krieg sie halt nur nicht korrekt und fehlerfrei ins Programm hinein. Wie also erstelle ich eine funktionierende Unit bzw. .pas Datei mit zugehöriger .dfm, sodass ich diese Infobox ins Programm kriege.
Delphi-Quellcode:
Der Befehl im Code des Hauptprogrammes sieht kurz und knapp so aus:
unit uInfoBox;
interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls, Vcl.Imaging.pngimage; type TInfobox = class(TForm) Panel1 : TPanel; ProgramIcon : TImage; ProductNameLbl: TLabel; VersionLbl : TLabel; CopyrightLBL : TLabel; OKButton : TButton; CompilerLbl : TLabel; CopyMmo: TMemo; procedure OKButtonClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Infobox: TInfoBox; implementation {$R *.dfm} procedure TInfoBox.OKButtonClick(Sender: TObject); begin Close; end; end.
Delphi-Quellcode:
Danke im Voraus :thumb:
procedure TForm1.AboutMenuClick(Sender: TObject);
begin Infobox.Show; end; |
AW: InfoBox aus fremden Projekt verwenden
Keine Ahnung was du da so machst, externe Lins rufe ich nur ungern auf, so dass ich die Fehlermeldung nicht kenne. Die richtige Vorgehensweise ist folgende:
Projekt öffnen Menüpunkt "Projekt / Dem Projekt hinzufügen (Umsch+F11)" Unit uInfoBox hinzufügen |
AW: InfoBox aus fremden Projekt verwenden
Wo erzeugst du denn die InfoBox?
|
AW: InfoBox aus fremden Projekt verwenden
Es gibt einen Bibliothekspfad und einen Suchpfad.
Wenn die dfm nicht über den Suchpfad gefunden werden kann, dann gibt das so eine Meldung. |
AW: InfoBox aus fremden Projekt verwenden
Ich vermute im Projekt muss erst eingestellt werden, dass dieses Formular automatisch erstellt werden soll.
Alternativ kann man das Formular auch selbst erzeugen und wieder freigeben. In diesem Fall bietet sich ShowModal an.
Delphi-Quellcode:
procedure TForm1.AboutMenuClick(Sender: TObject);
begin if Assigned(InfoBox) then Infobox.Show else begin with TInfobox.Create do begin try ShowModal; finally Free; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 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