AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit dem Datenmodul

Ein Thema von alfred · begonnen am 4. Jul 2005 · letzter Beitrag vom 4. Jul 2005
Antwort Antwort
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#1

Problem mit dem Datenmodul

  Alt 4. Jul 2005, 11:01
Hallo Leute,

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:
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.
2. Leeres Datenmodul

Delphi-Quellcode:
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.
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.

Wenn jemand helfen kann, dann vielen Dank im voraus. Außerdem hoffe ich, dass ich das richtige Forum erwischt habe.

Gruß alfred
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Problem mit dem Datenmodul

  Alt 4. Jul 2005, 19:38
Das Ganze ist sehr abstrakt ! Die Glaskugel sagt aber : da wird irgendwas nicht richtig initialisiert. 8) Insbesondere die F.... machen mir Kopfschmerzen !
Gruß
Hansa
  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 19:45 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