Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: Vergangenheitswerte in DLL merken

  Alt 19. Jan 2012, 17:42
Es ist üblich, dass man eine Datenstruktur (ein Record in Delphi) definiert,
die sowohl der DLL als auch dem Aufrufer (Lahey Fortran) bekannt ist.

Jede DLL-Funktion bekommt als 1. Parameter diese Datenstruktur übergeben.
Der Aufrufer ist dafür verantwortlich, für die Datenstruktur den Speicher zu reservieren
und der Aufrufer gibt den Speicher auch wieder frei.

Hier ist ein fiktives Beispiel, wie so etwas aussehen kann:
Delphi-Quellcode:
TContext = record
  xpos_min:double;
  ypos_min:double;
  interations : integer;
  ...
end;

procedure InitializeContext(var context:TContext); // sichere Anfangswerte setzen
function CalculateArea(var context:TContext; mode:integer):double;
...
Diese Technik ist quasi die Vorstufe zu Objektorientiertem Programmieren.
Andreas
  Mit Zitat antworten Zitat