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.