![]() |
Problem mit dem Datenmodul
Hallo Leute, :witch:
ich habe hier ein kurioses Problem. Folgende Konstruktion liegt vor : in einer Exe ist ein Datenmodul implementiert. Von einer DLL aus soll auf dieses DM zugegriffen werden. ( In der DLL liegen Druckaufbereitungsprogramme, Rave - Formulare und ähnliche, kundenspezifische Sachen, die beim Update nicht überschrieben werden sollen.) Den Zugriff habe ich mir so vorgestellt, dass in der DLL ein leeres DM erstellt wird. Aus der Exe wird eine DLL-Prozedur gerufen, die das DM der Exe mit übergibt es dem leeren DM zuweist. Um Zugriff auf die Objekte des Exe - DM zur Designzeit zu haben muss ich dieses Teil in die Uses-Liste der Dll und des leeren DM eintragen. Genau hier kommt es zum Crash. Sobald das Teil auch nur in der Uses - Liste der DLL steht bekomme ich beim Programmende - Unbekannter Softwarefehler (0x0eedfade) an Stelle 0x77e7e592. Nachfolgend einige Code - Zeilen: 1. DLL
Delphi-Quellcode:
2. Leeres Datenmodul
library DruckDLL;
uses Dialogs, SysUtils, Windows, Forms, Classes, PAGK_PrtAngBlk in 'PAGK_PrtAngBlk.PAS' {FAGK_PrtAngBlk}, Globaldefs in '..\Globaldefs.pas', SDDataModul in 'SDDataModul.pas' {DatenModul: TDataModule}, MainDataModul in '..\MainDataModul.pas' {IHSDataModul: TDataModule}; procedure Drucken_Angebot_Blanko(ModulInfo:TModulInfoRec; DataModul:TDataModule); stdcall; begin DatenModul.Init(ModulInfo,DataModul); FAGK_PrtAngBlk:= TFAGK_PrtAngBlk.Create(nil); try FAGK_PrtAngBlk.ShowModal; finally FAGK_PrtAngBlk.Free; end end; exports Drucken_Angebot_Blanko; begin Application.CreateForm(TDatenModul, DatenModul); end.
Delphi-Quellcode:
Momentan wird die DLL nur von der Exe geladen. Nach Programmende kommt es zu obigem Crash. Ich habe leider keine Ahnung, wo ich noch suchen sollte.
unit SDDataModul;
interface uses SysUtils, Classes, Globaldefs; type TDatenModul = class(TDataModule) private { Private-Deklarationen } FModulInfo: TModulInfoRec; FMDataModul: TDataModule; public { Public-Deklarationen } procedure Init(aModulInfo:TModulInfoRec; aDataModul:TDataModule); property MDataModul: TDataModule read FMDataModul; property ModulInfo: TModulInfoRec read FModulInfo write FModulInfo; end; var DatenModul: TDatenModul; implementation {$R *.dfm} procedure TDatenModul.Init(aModulInfo:TModulInfoRec; aDataModul:TDataModule); begin FModulInfo:=aModulInfo; FMDataModul:=aDataModul; end; end. Wenn jemand helfen kann, dann vielen Dank im voraus. Außerdem hoffe ich, dass ich das richtige Forum erwischt habe. Gruß alfred :witch: |
Re: Problem mit dem Datenmodul
Das Ganze ist sehr abstrakt ! Die Glaskugel sagt aber : da wird irgendwas nicht richtig initialisiert. 8) Insbesondere die F.... machen mir Kopfschmerzen !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 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