AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Ordnung muss sein (LaunchBar)
Thema durchsuchen
Ansicht
Themen-Optionen

Ordnung muss sein (LaunchBar)

Ein Thema von EWeiss · begonnen am 17. Mai 2017 · letzter Beitrag vom 14. Nov 2021
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Ordnung muss sein (LaunchBar)

  Alt 19. Aug 2018, 09:53
Du must dich darum nicht mehr kümmern..
Ich habe ein Eigeninteresse daran, da mir dieser Umstand vorher nie auffiel.
Bin mit der x64 Version dran da funktioniert es mit den Icons.

So wie ich sagte du kannst mit einer 32Bit Anwendung im Pfad Program Files nicht rumpfuschen.
Deshalb bekommst du auch die Icons nicht.
Ich bekomme alle Icons, habe Dir ja bereits geschrieben wie. Ich bekomme sie nur nicht über den üblichen Weg.

Gruß
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Ordnung muss sein (LaunchBar)

  Alt 19. Aug 2018, 10:19
Zitat:
Ich bekomme alle Icons, habe Dir ja bereits geschrieben wie. Ich bekomme sie nur nicht über den üblichen Weg.
Ach.. Ich rede von Verknüpfungen denn darum geht es ja hier.
Aus den Exe Dateien bekomme ich sie auch alle.

Oder meinst du ich mache mir die Arbeit mit einer 64BIt Anwendung umsonst?
Nur deshalb weil es auf normalem Wege halt nicht geht.

gruss

Geändert von EWeiss (29. Apr 2019 um 02:40 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Ordnung muss sein (LaunchBar)

  Alt 20. Aug 2018, 21:23
Zum Fortschritt.
Langsam komme ich weiter, musste meine GDI+ Unit komplett umschreiben und dementsprechend auch alle Funktionen innerhalb meiner Lib.
Es funktioniert einwandfrei mit 32Bit aber 64Bit leider nicht!

Es hat damit zu tun..
bsp. Wenn ich unter 32Bit einer Funktion ein Cardinal übergebe und diese in 64Bit nicht kompatibel ist dann kracht es.
Deshalb muss ich alles umschreiben damit es auf beiden Plattformen funktioniert.

GDIPlus Image war Cardinal ist nun Pointer usw..
Es läuft soweit nur mein Menu noch nicht.. habe da wohl noch ein\zwei Funktionen unter GDI+ die ich noch korrekt umlegen muss.
Das dauert seine zeit.

Kracht immer bei
Delphi-Quellcode:
// Gibt die höhe und weite vom GDIPLUS Image zurück.
procedure TSkinEngine.GetImageSize(Img: Pointer; var imgW, imgH: UINT);
begin
  if Assigned(Img) then
  begin
    GdipCheck(GdipGetImageWidth(Img, imgW));
    GdipCheck(GdipGetImageHeight(Img, imgH));
  end;
end;
Muss aber nichts bedeuten denn die Typen sind korrekt habe sie angepasst.
Irgendwo dazwischen passiert noch was das sich nicht so leicht debuggen lässt.

Test im Anhang werde ich löschen wenn die Final fertig ist inklusive fix für das Menu (GDI+).
Zumindest sollten jetzt deine Icons aus "Program Files" richtig angezeigt werden.
Aber wundere dich nicht die Dateien sind nun um ein 10faches größer.


PS:
Die 32Bit läuft mit den geänderten Typen für 64Bit ohne Probleme schwer den Fehler zu lokalisieren.
Ich finde keine Informationen darüber was bei der GDI+ 64Bit für Typen übergeben werden müssen. grrrrrr..
Es gibt auch keine 64Bit API für GDI+ von Delphi zumindest finde ich keine.

gruss

Geändert von EWeiss (22. Aug 2018 um 04:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ordnung muss sein (LaunchBar)

  Alt 21. Aug 2018, 08:08
Kurzes Mini-Feedback:
Mit deinem 64bit build lädt er Icon fast korrekt, warum nur fast fragst Du Dich? Weil irgenwie in Deiner Methode was merkwürdig läuft.

Ich habe folgendes gemacht:
64bit 7zip installiert
in \Program Files\7zip rein und zu 7zG.exe eine Verknüpfung auf Desktop abgelegt.
32bit Ottb = System Application Icon
64bit Ottb = zeigt brav 7zG.exe Icon an
32bit Delphi über SHGetFileInfo(PChar(IncludeTrailingPathDelimiter(Path) + finddata.cFilename), 0, fi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_TYPENAME or SHGFI_ICON) = System Application Icon

jetzt das merkwürdige
in \Program Files\7zip rein und 7zG.exe eine Verknüpfung auf Desktop abgelegt aber dieses mal mit 2. Icon von 7zFM.exe
32bit Ottb = System Application Icon
64bit Ottb = zeigt Icon von 7zG.exe, sollte aber das 2. von 7zFM.exe sein
32bit Delphi über SHGetFileInfo(PChar(IncludeTrailingPathDelimiter(Path) + finddata.cFilename), 0, fi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_TYPENAME or SHGFI_ICON) = zeigt das 2. aus 7zFM.exe

Hab Dein 64bit noch nicht weiter getestet, wollte Dich nur das obige Wissen lassen.

Gruß
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Ordnung muss sein (LaunchBar)

  Alt 21. Aug 2018, 08:18
Zitat:
64bit Ottb = zeigt Icon von 7zG.exe, sollte aber das 2. von 7zFM.exe sein
Ich nehme bisher keine Rücksicht auf den IconIndex der in der Verknüpfung festgelegt ist.
Es wird immer das 1 (Index 0) ICON_LARGE genommen. Seltsam ist das nicht sondern so programmiert.

Aber wenn nötig kann man es später noch ändern.
Der 64Bit Code ist bis auf die Typen gleich da hat sich nichts geändert.

Zitat:
32bit Delphi über
Ist nicht OTTB so denke ich das du es nicht vergleichen kannst
Danke trotzdem für die Meldung.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Ordnung muss sein (LaunchBar)

  Alt 21. Aug 2018, 08:32
Seltsam ist das nicht sondern so programmiert.
Okay.
Ist nicht OTTB so denke ich das du es nicht vergleichen kannst
In der Tat, ich friemel gerade an einer ListView, da die TShellListView bei meinem Delphi Speicherlecks hat.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.368 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Ordnung muss sein (LaunchBar)

  Alt 21. Aug 2018, 11:34
da die TShellListView bei meinem Delphi Speicherlecks hat.
Die lag nicht umsonst nur unter Samples.
Es gibt sowas aber auch in gut und fertig. Aber das ist ein anderes Thema.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:50 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