Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Windows Explorer Shell Extention - mit SubMenu

  Alt 20. Sep 2011, 09:20
Moin Moin,

bin leider auf das nächste Problem gestossen:

Luckie's Programm habe ich mir angesehen und weiß jetzt auch wie ich das hinbekomme was ich möchte.
Allerdings schaffe ich es nicht die Shell-Extention für Windows x64 zu kompilieren.

Momentan habe ich von XE2 nur die Testversion und die meckert mir beim compilieren,
egal ob Zielplatform 32 oder 64 Bit folgendes an :
"[DCC Fehler] Unit1.pas(33): E2291 Implementierung der Interface-Methode IContextMenu.GetCommandString fehlt"


Delphi-Quellcode:
type
  TXYZShellExt = class(TComObject, IShellExtInit, IContextmenu)
  private
    FFilename: array[0..MAX_PATH] of Char;
  protected
    function IShellExtInit.Initialize = SEInitialize;
    function SEInitialize(pidlFolder: PItemIDList; lpdobj: IDataObject;
      hKeyProgID: HKEY): HResult; stdcall;
    function QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast,
      uflags: UINT): HResult; stdcall;
    function InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult; stdcall;
    function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT; pszName:
      LPSTR; cchMax: UINT): HResult; stdcall;
  end;

// .....

implementation


function TXYZShellExt.GetCommandString(idCmd, uType: UINT; pwReserved: PUINT;
  pszName: LPSTR; cchMax: UINT): HResult;
begin
  // egal
end;
Jetzt vermute ich das Ihm die Deklaration der Parameter nicht passt,
da ich wie schon erwähnt momentan nur die Testversion von XE2 habe.
Ist es mir nicht möglich in die Unit "WinApi.ShlObj.pas" zu schauen,
wie bei iContextMenu die function GetCommandString exakt deklariert ist.

Ist es jemanden möglich den Header hier zu posten ?

Oder weiß jemand aus dem Stehgreif wo mein Problem liegt ?

Danke im vorraus,

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat