Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [COM, D7] Addin Designer Objects Importierung schlägt fehl (https://www.delphipraxis.net/58161-%5Bcom-d7%5D-addin-designer-objects-importierung-schlaegt-fehl.html)

rochus 2. Dez 2005 10:06


[COM, D7] Addin Designer Objects Importierung schlägt fehl
 
Hi,
Ich hab folgendes Problem: Ich hab hier eine relativ alte AddinDesignerObjects_TLB.pas und wollte die auf den aktuellsten Stand bringen, also hab ich unter Projekt->Typbibliothek den Punkt "Microsoft Add-In Designer (Version 1.0)" gewählt und "Unit anlegen" gewählt. Soweit kein Problem. Will ich dann aber kompilieren, kommt in TAddinDesigner.InvokeEvent ein Compilierfehler: Typen stimmen nicht.

Auszug aus der _TLB.pas:

Delphi-Quellcode:
procedure TAddinDesigner.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit; // DISPID_UNKNOWN
    1: if Assigned(FOnConnection) then
         FOnConnection(Self,
                       Params[0] {const IDispatch},
                       Params[1] {ext_ConnectMode},
                       Params[2] {const IDispatch},
                       {??PSafeArray}
                       PSafeArray(OleVariant((TVarData(Params[3]).VPointer)^))

                       {var ??PSafeArray OleVariant});
    2: if Assigned(FOnDisconnection) then
         FOnDisconnection(Self,
                          Params[0] {ext_DisconnectMode},
                          {??PSafeArray}OleVariant((TVarData(Params[1]).VPointer)^) {var ??PSafeArray OleVariant});
    3: if Assigned(FOnAddInsUpdate) then
         FOnAddInsUpdate(Self, {??PSafeArray}OleVariant((TVarData(Params[0]).VPointer)^) {var ??PSafeArray OleVariant});
    4: if Assigned(FOnStartupComplete) then
         FOnStartupComplete(Self, {??PSafeArray}OleVariant((TVarData(Params[0]).VPointer)^) {var ??PSafeArray OleVariant});
    5: if Assigned(FOnBeginShutdown) then
         FOnBeginShutdown(Self, {??PSafeArray}OleVariant((TVarData(Params[0]).VPointer)^) {var ??PSafeArray OleVariant});
  end; {case DispID}
end;
Nach PSafeArray kann nicht gecastet werden, wie müsste das also entsprechend aussehen, dass das funktioniert?

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz