Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   shTrees wandeln zu Delphi 2010 / Fehler (https://www.delphipraxis.net/161311-shtrees-wandeln-zu-delphi-2010-fehler.html)

HJay 28. Jun 2011 14:58

shTrees wandeln zu Delphi 2010 / Fehler
 
Ich versuche gerade, ein Delphi-6-Projekt nach Delphi-2010 zu wandeln. Ich verwende die fremde Unit "ShTrees" und leider gibt es ein Problem mit dem Char-Format, das ich nicht lösen kann.

Delphi-Quellcode:
CmdID := Integer(TrackPopupMenu(Popup,
                     TPM_LEFTALIGN or TPM_RETURNCMD or TPM_RIGHTBUTTON,
                     Where.X, Where.Y, 0, Handle, nil));
          if CmdID <> 0 then
          begin
            with CommandInfo do
            begin
              cbSize := SizeOf(CommandInfo);
              fMask := 0;
              hwnd := 0;
              lpVerb := MakeIntResource(CmdID - 1); // >>>> ERROR
              lpParameters := nil;
              lpDirectory := nil;
              nShow := SW_SHOWNORMAL;
              dwHotKey := 0;
              hIcon := 0;
            end;
            Result := Succeeded(ContextMenu.InvokeCommand(CommandInfo));
          end;
In D6 ist Windows.MakeIntResource: PChar während es in Delphi-2010 PWideChar ist.

Wie kann man den Konflikt lösen?

DeddyH 28. Jun 2011 15:35

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Klappt es mit MakeIntResourceA?

HJay 28. Jun 2011 16:17

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Leider nicht. Es kompiliert dann, aber stürzt ab.

Klaus01 28. Jun 2011 16:23

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
.. genau an der Stelle?
Gibt es eine sinnvolle Fehlermeldung?

Grüße
Klaus

shmia 28. Jun 2011 17:02

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Zitat:

Zitat von HJay (Beitrag 1108651)
ein Delphi-6-Projekt nach Delphi-2010 zu wandeln

Ist das ein Non-VCL Projekt oder weshalb wird hier (unnötigerweise) auf Ebene der Windows API programmiert?

HJay 28. Jun 2011 19:45

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von shmia (Beitrag 1108665)
Ist das ein Non-VCL Projekt oder weshalb wird hier (unnötigerweise) auf Ebene der Windows API programmiert?

Die Unit "shTrees" stellt so eine Art Windows Explorer / Shell Ansicht zur Verfügung, siehe Anhang.

Wäre schade, wenn die Weiterverwendung dran scheiterte, denn diese Stelle ist die einzige Compilermeldung beim Konvertieren.

Notfalls msuss ich mir eine modernere Shell-Komponente suchen...die muss dann aber auch noch mit meinem Code halbwegs kompatibel sein. *seufz*

Irgendjemand Ideen, woran das liegen kann?

DeddyH 29. Jun 2011 07:05

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Nenn uns doch erst einmal die Fehlermeldungen, dann kann man evtl. besser helfen.

HJay 29. Jun 2011 10:48

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Na ja, direkt nach dem Konvertieren ist es einfach eine Compilermeldung, dass die Typen nicht stimmen:

[DCC Fehler] ShTrees.pas(739): E2010 Inkompatible Typen: 'Char' und 'AnsiChar'

Da es nicht compiliert, gibt es auch keine weiteren Fehlermeldungen. Ich durchschaue nicht im Ansatz, wie ich diese Typverletzung umgehen kann, weil ich shTrees ja nicht selbst geschrieben habe, sondern die Shell-Komponente nur nutze.

Vielen Dank für Eure Hilfe. Hoffentlich gibt es eine Lösung!

Klaus01 29. Jun 2011 10:57

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
.. was passiert, wenn Du MakeIntResource() nach PAnsiChar castest?

Grüße
Klaus

DeddyH 29. Jun 2011 11:01

AW: shTrees wandeln zu Delphi 2010 / Fehler
 
Die ShellIDs.pas fehlt noch.

[edit] Erledigt, hier gefunden: http://rvelthuis.de/components.html[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.
Seite 1 von 2  1 2      

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