Thema: Delphi ShellExt Problem

Einzelnen Beitrag anzeigen

CCRDude

Registriert seit: 9. Jun 2011
677 Beiträge
 
FreePascal / Lazarus
 
#8

AW: ShellExt Problem

  Alt 22. Mai 2013, 07:13
Vorab ein Tipp zum Debuggen unter Win64: man nehme einen Total Commander in der 32-Bit-Version und kompiliere die Extension für 32 Bit. Sobald man den wieder zumacht, ist die DLL dann auch wieder "frei" (evtl. stellt man auch in der Registry noch ein, dass DLLs nicht im Cache gehalten werden sollen, hab die Stelle gerade nicht auswendig parat).

Abhängig von den Dateien im Projektordner habe ich bis zu vier Einträge. Habe also die vierte reingelegt - auch die klappt einwandfrei.

Wie wäre es, wenn Du uns auch Dein InvokeCommand zeigst?

Aber ich darf Dir auch nochmal einen wichtigen Teil der Doku zitieren:
Zitat:

If successful, returns an HRESULT value that has its severity value set to SEVERITY_SUCCESS and its code value set to the offset of the largest command identifier that was assigned, plus one. For example, if idCmdFirst is set to 5 and you add three items to the menu with command identifiers of 5, 7, and 8, the return value should be MAKE_HRESULT(SEVERITY_SUCCESS, 0, 8 - 5 + 1). Otherwise, it returns a COM error value.
Du gehst leider davon aus, dass idCmdFirst immer 0 ist, und hast bei Deinem MakeResult den +1-Offset (und evtl. das Menü selber) vergessen.
  Mit Zitat antworten Zitat