AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) ShlObj: Implementierung der Interface-Methode IContextMenu
Thema durchsuchen
Ansicht
Themen-Optionen

ShlObj: Implementierung der Interface-Methode IContextMenu

Ein Thema von Mavarik · begonnen am 29. Sep 2011 · letzter Beitrag vom 4. Okt 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#1

ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 08:29
Hallo Leute!

E2291: {Winapi.}ShlObj: Implementierung der Interface-Methode IContextMenu:GetCommandString fehlt.

Ähhhh und jetzt?
Was ist zu tun?

Grüsse Mavarik

PS.: Ich glaube nicht mehr daran, dass auch nur einer ein altes & großes Projekt auf XE/XE2 umgebaut hat...Mit ist so weinerlich...
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#2

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 08:33
Was jetzt? Glaskugel auspacken und raten vielleicht?

Fehlt Sie denn nun, oder nicht?

Und da ich mich gestern mit genau jener rumgeschlagen habe: achte beid en Unicode-Flags auf den Datentyp, den Du an LPSTR übergibst!

PS: Kopf hoch, ist zwar viel Fleißarbeit, aber machbar
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 09:10
Was hast Du gemacht? Wahrscheinlich mit Copy / Paste irgendwelchen Code übernommen. Ich schätze mal Dein Code sieht ca. so aus:
Delphi-Quellcode:
function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT;
       pszName: LPSTR; cchMax: UINT): HResult; stdcall;
Wenn man sich dann die Definition dann anschaut stellt man fest dass die nicht mehr passt. idCmd ist nämlich jetzt als UINT_PTR definiert. Deshalb passte die Signatur nicht usw...

Zitat:
PS.: Ich glaube nicht mehr daran, dass auch nur einer ein altes & großes Projekt auf XE/XE2 umgebaut hat...Mit ist so weinerlich...
Doch doch, das geht. Gerade gestern fertig geworden. Muss natürlich noch komplett getestet werden. Hauptproblem waren die externen Komponenten (glücklicherweise nur 4).
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#4

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 12:41
Weil ich das in der MSDN nicht gefunden habe und Du Union Dich damit auszukennen scheinst: was ist eigentlich der Default-Rückgabewert, wenn man dort gar nichts macht?

Copy'n'Paste-Beispiele springen da zwischen S_OK und E_INVALIDARG.

(Nachtrag: Entschuldigung, jetzt doch gefunden )

Geändert von CCRDude (29. Sep 2011 um 13:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 14:44
Nein!

Einfach nur mit XE2 übersetzt.. Das ist ne Fehlermeldung die in Shlobj kommt...


Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 29. Sep 2011, 15:28
Was meinst Du mit "Nein"? Wie sieht der Source aus den Du versucht hast zu kompilieren?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 4. Okt 2011, 13:48
Was meinst Du mit "Nein"? Wie sieht der Source aus den Du versucht hast zu kompilieren?
Der Code:


  TDropContextMenu = class(TInterfacedComponent, IShellExtInit, IContextMenu) Mit D2007 compiliert das einwandfrei!

Grüsse Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 4. Okt 2011, 14:37
Habs...

Dank Datas Beitrag...

Delphi-Quellcode:
{$IFDEF VER230}
    function GetCommandString(idCmd: UINT_PTR; uFlags: UINT; pwReserved: PUINT;
       pszName: LPSTR; cchMax: UINT): HResult; stdcall;
{$ELSE}
    function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT;
      pszName: LPSTR; cchMax: UINT): HResult; stdcall;
{$ENDIF}
Grüsse Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 4. Okt 2011, 14:55
Wenn Du die Antworten hier lesen würdest, hättest Du es schon eine Woche früher gehabt
idCmd ist nämlich jetzt als UINT_PTR definiert. Deshalb passte die Signatur nicht usw...
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: ShlObj: Implementierung der Interface-Methode IContextMenu

  Alt 4. Okt 2011, 15:01
Wenn Du die Antworten hier lesen würdest, hättest Du es schon eine Woche früher gehabt
Wie es aussieht ist auch der Parameter uFlags weggefallen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 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