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.