AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Dynamisch DLLs einbinden & Objekte - Pointer-Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch DLLs einbinden & Objekte - Pointer-Problem

Ein Thema von IronEddie · begonnen am 16. Feb 2004 · letzter Beitrag vom 17. Feb 2004
 
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Dynamisch DLLs einbinden & Objekte - Pointer-Problem

  Alt 17. Feb 2004, 00:51
Zitat:
Ich will ja auch nicht die Objekte aus der DLL holen, ich will nur der DLL sagen "mach mal ein Objekt, hier hast du die parameter, gib mir die referenz als pointer zurück"...
das klang vorhins ganz anders


Zitat:
Kann ich überhaupt komplexe Objekte in die DLL übergeben / herausbekommen?
probier mal das:

Delphi-Quellcode:
// Routine in der DLL

(...)
var Fibu : TFibustamm;
(...)

function CreateEnvironment(aTransaction : TIBTransaction; aStammdaten : TStammdaten) :TFibuStamm;
//man kann doch die Objekte direkt übergeben (aTransaction:[b]TIBTransaction[/b]). Sie werden doch sowieso als Pointer übergeben, soviel ich weiss
begin

  Fibu := TAddison.Create(nil, aStammdaten, aTransaction);
  Result := Fibu;

end;
Delphi-Quellcode:
// Ausschnitt Hauptprogramm
         uses Objekt_Unit_TFibustamm;

         type
          TCreateEnv = function (aTransaction : TIBTransaction; aStammdaten : TStammdaten) :TFibuStamm;

         private
             Fibu:TFibuStamm;
             CreateEnv:TCreateEnv;

          CreateEnv := GetProcAddress(FibuDLLHandle, PChar('CreateEnvironment'));

          if not Assigned(CreateEnv) then
            begin
              ManBuchhaltung.Enabled := false;
              ParadoxFound := false;
              FrmMessageWindow.MessageAn('Fibu-Datenbank nicht aktiv');
            end
          else
            begin
              
              Fibu := CreateEnv(DM.IBT, Stammdaten);
              
              
            end;
PS: normalerweise entwickelt man in so einem Fall eine Three-tier-Architektur in der im Application-Server der DB-
Zugriff gekapselt ist. Dort meist der Einsatz von COM/DCOM. Dort ist ADO schön, da dort das Recordset in Binärform
übertragen wird und Windows alles umwandelt. Oh je werde Off-Topic
  Mit Zitat antworten Zitat
 


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 04:35 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