Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: C Codeschnipsel nach Delphi

  Alt 12. Apr 2005, 12:36
Entweder man laesst es in C oder konvertiert nicht, sondern programmiert das Programm mit der VCL nach.

AdvancedDllStruct ist ein Record mit Zeigern auf Funktionen (und ein paar anderen Elementen) drin.
In Delphi ist das ein Funktionstyp.

Mit der Funktion AdvancedEntry uebergibt man einen Zeiger auf ein ausgefuelltes Record das in einer globalen Variablen gemerkt wird und dann verwendet wird.
Das ist eine einfache Plugin-Architektur.

Wenn es darum geht, nur so ein Record zu erstellen, damit man es mit AdvancedEntry registrieren kann, so ist das durchaus moeglich.

Delphi-Quellcode:
type
  PAdvancedDllStruct = ^AdvancedDllStruct;
  AdvancedDllStruct = packed record
    AddedFile: function(lpFileName: PChar): Integer; stdcall;
    AddedKey: function(kKeyRoot: HKEY; lpPath: PChar): Integer; stdcall;
    AddedValue: function(kKeyRoot: HKEY; lpPath: PChar; lpValueName: PChar): Integer; stdcall;
    AddShared: function(lpSharedFile: PChar): Integer; stdcall;
    BackupFile: function(lpFileName: PChar): Integer; stdcall;
    CreateDirectory: function(lpDirectory: PChar): Integer; stdcall;
    lpCommandLine: PChar;
    hbmDialog: HBITMAP;
    bSilent: LongBool;
    lpdwFlags: PDWORD;
    GetVariableString: function(lpVariable: PChar): PChar; stdcall;
    GetVariableInt: function(lpVariable: PChar): Integer; stdcall;
    SetVariableString: function(lpVariable: PChar; lpValue: PChar): Integer; stdcall;
    SetVariableInt: function(lpVariable: PChar; iValue: Integer): Integer; stdcall;
  end;
Hier eingehackt, also ohne Garantie.
  Mit Zitat antworten Zitat