Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: WideString als Rückgabe in COM-Klasse

  Alt 26. Mai 2008, 15:28
In COM sollten Funktionen immer ein HResult zurückgeben. Strings oder so gibt man als Rückgabeparameter zurück.

Zitat aus Andreas Kosch COM-Buch:


Delphi-Quellcode:
function GetInfo(out RetVal: WideString):HResult; stdcall;
begin
  try
    RetVal := 'Der Text des COM_Objects';
    Result := S_OK;
  except
    Result := E_UNEXPECTED;
  end;
end;
Edit: Um zu diesem Ergebnis zu kommen reicht es auch, wenn Du Deine Deklaration nicht mit stdcall sondern mit safecall deklarierst.
function GetLastErrorMessage: WideString; safecall; Sherlock
Oliver
  Mit Zitat antworten Zitat