Hallo, alle miteinander!
Ich sitze mal wieder an einem Problem mit meinem Word-AddIn, das mich schon die letzten Wochen beschäftigt. Und zwar passiert folgendes:
Word 2003 stürzt ab, wenn man es beendet. (Problembericht kann an Microsoft geschickt werden etc.)
Allerdings nur unter Windows2000.
Unter WindowsXP läuft alles einwandfrei.
In einem Word-AddIn müssen die Methoden der
IDExtensibility2-Schnittstelle implementiert sein.
Das Problem tritt auf, bei dem Aufruf der zu implementierenden Methode "OnBeginShutdown"
Deklaration:
Delphi-Quellcode:
TXConMag = class(TOfficeAddIn, IDTExtensibility2, IXConMag)
private
FDebug: Boolean;
[...]
protected
procedure OnStartupComplete(var custom: PSafeArray); override; safecall;
procedure OnBeginShutdown(var custom: PSafeArray); override; safecall;
[...]
end;
Implementierung:
Delphi-Quellcode:
procedure TXConMag.OnBeginShutdown(var custom: PSafeArray);
begin
XConLog.Log ( 'TXConMag.OnBeginShutDown' );
// Wenn nötig den Ursprungszustand wieder herstellen...
if FDokOptsChangedByConfig then begin
try FWordSettings.DokOptions_Write ( FDokOpts ); except end;
end;
// free the taken resources
XConLog.Log ( 'TXConMag.OnBeginShutDown: Destroy Resources' );
FGlobalConf.Destroy;
FWordSettings.Destroy;
FEnvColl.Destroy;
FDokOpts.Destroy;
XConLog.Log ( 'TXConMag.OnBeginShutDown: Destroy XConLog' );
XConLog.Destroy;
inherited OnBeginShutdown(custom);
end;
Unter WindowsXP wird sie aufgerufen, unter Windows2000 nicht. Dieser Aufruf funktioniert schon gar nicht erst.
Kennt jemand dieses Problem?
Matthias