Hi
,
hoffentlich kann mir jemand von Euch ja auf die Sprünge helfen. Folgender Code-Abschnitt:
Delphi-Quellcode:
const
cStagingLiveVersion: LongInt = $03000100;
FMTID_SummaryInformation: TGUID = '
{F29F85E0-4FF9-1068-AB91-08002B27B3D9}';
type
TPropSpecArray =
array of TPropSpec;
PPropSpecArray = ^TPropSpecArray;
TPropVariantArray =
array of TPropVariant;
PPropVariantArray = ^TPropVariantArray;
var
Package: IStorage;
OS: TOleStream;
Stm: IStream;
Writer: TWriter;
PSS: IPropertySetStorage;
PS: IPropertyStorage;
PSA: TPropSpecArray;
PVA: TPropVariantArray;
begin
if not SUCCEEDED(StgOpenStorage(PWideChar(GetPackageName),
nil,
STGM_READWRITE
or STGM_SHARE_EXCLUSIVE,
nil, 0,
Package))
then
OleCheck(StgCreateDocFile(PWideChar(GetPackageName), STGM_CREATE
or
STGM_READWRITE
or STGM_SHARE_EXCLUSIVE, 0,
Package));
PSS :=
Package as IPropertySetStorage;
[color=#f60000]OleCheck(PSS.Open(FMTID_SummaryInformation, STGM_WRITE
or
STGM_SHARE_EXCLUSIVE, PS));[/color]
SetLength(PSA, 1);
SetLength(PVA, 1);
try
PSA[0].ulKind := PRSPEC_PROPID;
PSA[0].propID := PIDSI_TITLE;
PVA[0].vt := VT_LPSTR;
PVA[0].pszVal := '
Content Ace v3 - Staging Package Item';
OleCheck(PS.WriteMultiple(1, @PSA[0], @PVA[0], 2));
finally
SetLength(PSA, 0);
SetLength(PVA, 0);
end;
macht mir Probleme. Ich komme nicht über die rot-markierte Zeile hinaus. Die Idee stammt aus dem Buch
Delphi COM Programming von Eric Harmon.
Wer hat eine Idee
...
...
P.S. Eine vernünftige Fehlermeldung kann ich nicht liefern, da
COM mir sagt, ich soll mich an meinen Systemadministrator wenden ...
Aber ich weiss es auch nicht.