AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objecte aus dll erstellen

Ein Thema von Schuster · begonnen am 8. Feb 2005 · letzter Beitrag vom 8. Feb 2005
Antwort Antwort
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#1

Objecte aus dll erstellen

  Alt 8. Feb 2005, 15:11
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.
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Objecte aus dll erstellen

  Alt 8. Feb 2005, 15:18
Nimm lieber Packages, das sind DLLs mit Unterstützung vom Delphi-Compiler.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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