Einzelnen Beitrag anzeigen

mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#1

Word-AddIn - Absturz bei OnBeginShutdown

  Alt 19. Jan 2007, 15:00
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
Matthias Jenke
  Mit Zitat antworten Zitat