Einzelnen Beitrag anzeigen

thomaskroger

Registriert seit: 22. Mär 2009
16 Beiträge
 
#3

AW: c++DLL über einen c#-Wrapper in DELPHI XE6 nutzen. Problem mit regsvr32

  Alt 18. Nov 2014, 15:34
danke für den Hinweis, EWeiss.

Problem gelöst:

Die DLL muss mit
Code:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe C:\bla\RemoteControl.dll
registriert werden.
Ich Döskopp hatte den vollständigen Pfad im Argument vergessen.

Hier noch ein Goodie, um die GUID und die Registrierung einer DLL abzufragen:

Delphi-Quellcode:
//TM_GetProgGUID__________________
//Looks up a CLSID in the registry, given a ProgID.
//z.B. wenn gesucht:"RemoteControl.dll" -> ProgID="RemoteControl.Program"
function TM_GetProgGUID(const ProgID:WideString; var GUID:TGUID):Boolean;
begin
   Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), GUID));
end;

function TM_GetProgGUID(const ProgID:WideString; var GUIDString:String):Boolean;
var
  GUID:TGUID;
  {TGUID = packed record
    D1: LongWord;
    D2: Word;
    D3: Word;
    D4: array[0..7] of Byte;}

begin
  Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), GUID));
  if Result then
    GUIDString:=IntToHex(GUID.D1,8)+'-'+IntToHex(GUID.D2,4)+'-'+IntToHex(GUID.D3,4)+'-'+IntToHex(GUID.D4[0],2)+IntToHex(GUID.D4[1],2)+'-'+IntToHex(GUID.D4[2],2)+IntToHex(GUID.D4[3],2)+IntToHex(GUID.D4[4],2)+IntToHex(GUID.D4[5],2)+IntToHex(GUID.D4[6],2)+IntToHex(GUID.D4[7],2)
  else
    GUIDString:='';
end;
many tnx!
  Mit Zitat antworten Zitat