Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
Delphi 12 Athens
|
AW: PSafeArray
17. Mär 2025, 23:27
Vielleicht so?
Delphi-Quellcode:
uses
ActiveX;
function CreateSafeArray( const AValue: string): PSafeArray;
var
saBound: TSafeArrayBound;
pData: PWideString;
begin
saBound.lLbound := 0;
saBound.cElements := 1;
Result := SafeArrayCreate(VT_BSTR, 1, @saBound);
if not Assigned(Result) then
raise Exception.Create(' SafeArray konnte nicht erstellt werden.');
if SafeArrayAccessData(Result, Pointer(pData)) = S_OK then
try
pData^ := SysAllocString(PWideChar(AValue));
finally
SafeArrayUnaccessData(Result);
end
else
begin
SafeArrayDestroy(Result);
raise Exception.Create(' Fehler beim Setzen der SafeArray-Daten.');
end;
end;
function DocSelectFiles(type_: SelectType; MenuIndex: Integer; out docIds: PSafeArray): HResult; stdcall;
begin
try
docIds := CreateSafeArray(' Eine ID');
Result := S_OK;
except
Result := E_FAIL;
end;
end;
|
|
Zitat
|