Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Objecte aus dll erstellen (https://www.delphipraxis.net/39875-objecte-aus-dll-erstellen.html)

Schuster 8. Feb 2005 15:11


Objecte aus dll erstellen
 
Sorry das schon wieder so eine Frage ist aber eine Aneitung zu finden aus der man schlau wird war mir nicht möglich.

Habe folgendes Problem:

Ich habe ein Hauptprogramm aus welchen ich auf eine dll zugreifen möchte.
Diese dll soll sämtliche Panels, Buttons usw. erstellen.

Nun möchte ich aus meinem Hauptprogramm überprüfen ob alles erstellt worden ist.
Hier hab ich schon ein großes Problem, denn was soll ich mit Assigned überprüfen??

Hir mal ein bischen Code (Dll):
Delphi-Quellcode:
library kunde;

uses
  SysUtils,
  Classes,Extctrls,StdCtrls,Controls,Graphics,Forms,Windows, Variants,Dialogs, ComCtrls ;

{$R *.res}
procedure PanelKunde_erstell (SenderForm: TForm); stdcall;
var
    Panel_Kd_Anlegen : TPanel;      //Begin Kunden Anlegen
    Btn_Kd_Speichern : TButton;
    Cmb_Kd_Speichern_Anrede : TComboBox;
    //und so weiter... (Code glöscht da sonst zu lange)

begin
    Panel_Kd_Anlegen:=TPanel.Create(SenderForm);
          Panel_Kd_Anlegen.Parent:= SenderForm;

          with Panel_Kd_Anlegen do begin
                    Color:=clSkyBlue;
                    Name:= 'Panel_Kd_Anlegen';
                    Left:= 136;
                    top:=0;
                    Width:=SenderForm.Width - 137 ;
                    Height:=598;
                    Caption:='';
          end;
end;
Code Hauptprogi:
Delphi-Quellcode:
unit PanelKunde;

interface

uses Haupt, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, ComCtrls, XPMan, StdCtrls, ExtCtrls, Grids, DBGrids, SonstFunctionen,DatenModul;

type TPanelKundeErstellen =class(TForm)
procedure Kd_AnlegenShow;
Procedure Kd_AnlegenHide;

public
procedure KundeUpdate;

private
procedure BtnKdSpeichern_click(Sender: TObject);  //Kd speichern
procedure GebDatKdAnlegen_KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); //Kd speichern
procedure PanelKunde_erstell(SenderForm: TForm);stdcall;
end;

implementation
uses ZAbstractRODataset;
procedure PanelKunde_erstell(SenderForm: TForm);stdcall;
external 'kunde.dll';



procedure TPanelKundeErstellen.Kd_AnlegenShow;
begin
      if Assigned(Panel_Kd_Anlegen) then  //Problem: Panel_Kd_Anlegen wird aus dll erstellt
      begin
        Panel_Kd_Anlegen.Show;
        MeineFunktion.StyleCmb_aendern(Panel_Kd_Anlegen); //Style der CMB anpassen

        if UpdateVar = false then
        begin
            MeineFunktion.KomponentenInhalt_loeschen(Panel_Kd_Anlegen);
            CheckBox_Kd_speichern_OeDienst.Checked:=false;
        end;

      end  //Ende Panel Kd_Anlegen ist vorhanden
      else
      begin
          PanelKunde_erstell(Form1); //aufruf dll

      end; //Ende Prüfung ob Panel schon vorhanden ist
end;
Weiters noch eine Frage:
Habe natürlich bei Buttons usw. OnClick Ereignisse --> möchte diese aber nicht in die dll auslagern
da ich div. Funktionen bzw. überprüfungen in div. Units des Hauptprogis durchführe.

P.s wenn ich das schaffe werde ich Turtorial schreiben wie man Compos aus dll erstellt und Onclick-Erreignisse zuweisen kann.

jbg 8. Feb 2005 15:18

Re: Objecte aus dll erstellen
 
Nimm lieber Packages, das sind DLLs mit Unterstützung vom Delphi-Compiler.


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