Interner Viewer mit TC x64 und Irfanview x64 geht nicht

German support forum

Moderators: white, Hacker, Stefan2

User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Sieht so aus, als wenn das mit x64 ein bekanntes Problem ist:
http://www.ghisler.ch/board/viewtopic.php?t=42507

Wobei mir nicht klar ist, was Christian mit WM_COPYDATA meint, denn es geht doch eigentlich nur um den simplen Irfanview-Aufruf mit Parameter /clipcopy.
Irfanview beherrscht doch kein IPC, oder? (und wenn doch, dann ist das in der Hilfe mal wieder nicht dokumentiert)
Den einzigen Hinweis auf eine vermeintlich andere Methode finde ich hier:
history.txt wrote:31.12.04 Fixed: New Irfanview extraction method: Avoid deadlocks by using a callback window belonging to the calling thread
Ich werde mir mal bei Gelegenheit TCs Aufruf-Paramter mit ProcessMonitor anschauen.
TC plugins: PCREsearch and RegXtract
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich glaube da liegt ein Missverständnis vor: Wenn Sie im Lister eintragen, dass er Irfanview verwenden soll, dann benutzt er Irfanview zum Decodieren der Bilder nach BMP. Es wird KEIN Irfanview-Fenster geöffnet, Irfanview wird versteckt gestartet.

Allerdings verwenden neuere TC-Versionen für JPG, PNG und GIF den Windows-Decoder, Irfanview wird nur für exotischere Formate verwendet.
Author of Total Commander
https://www.ghisler.com
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

2ghisler
Dass Irfanview im HG bzw. versteckt gestartet wird, war ja auch meine Annahme.
Ich verstehe aber immer noch nicht, wieso im verlinkten Thread dann von WM_COPYDATA die Rede ist, also einer Windows message zum Datenaustausch, obwohl für Irfanview doch einzig die Zwischenablage zum Datenaustausch benutzt werden soll (laut Beschreibung).
Hier
http://www.ghisler.ch/board/viewtopic.php?t=16467
steht ja Ähnliches.

Mir ist in dem Fall neu, dass Irfanview die Daten über so eine Message an den aufrufenden Prozess zurücksenden kann. Weder in der Irfanview-Hilfe noch in der FAQ finde ich das dokumentiert.
Gleichzeitig wäre es doch aber ein möglicher Fix für die 64-bit-Version, einfach nur CreateProcess() mit CREATE_NO_WINDOW starten, und dann eben als Parameter so etwas wie:
/clipcopy /killmesoftly


Wie ich sehe, ruft TC momentan die exe mit dem Parameter
/hidden
auf, der z.B. gar nicht dokumentiert ist.
Viel mehr ist mit ProcessMonitor aber auch nicht zu sehen.
TC plugins: PCREsearch and RegXtract
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

milo1012,
Ist auch bei XnView nicht dokumentiert. Wurde auf Christians Wunsch vor langer Zeit eingebaut IIRC.
Wenn wir schon beim Thema sind finde ich dass pro Datei eine neue Irfan- bzw. XnView Instanz zu starten höchst ineffizient ist (Miniaturansicht).

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Hacker wrote:Ist auch bei XnView nicht dokumentiert. Wurde auf Christians Wunsch vor langer Zeit eingebaut IIRC.
Okay, danke, das ist gut zu wissen. Demnach der ganze IPC-Bereich ebenso(?).
Hacker wrote:Wenn wir schon beim Thema sind finde ich dass pro Datei eine neue Irfan- bzw. XnView Instanz zu starten höchst ineffizient ist (Miniaturansicht).
Klar, war ja auch nur ein schneller Vorschlag zur Behebung des Problems.
Aber demnach muss TC das Ganze vor Einführung der IPC schon mal so (oder so ähnlich) gemacht haben.
Abgesehen davon: erfahrungsgemäß ist das Kopieren von DIB (Bitmaps) in die - und von der Zwischenablage ohnehin ziemlich CPU-lastig (Speicherbandbreite), so dass die zusätzliche Zeit für das Starten des Prozesses nicht allzu groß ins Gewicht fallen würde.
TC plugins: PCREsearch and RegXtract
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

milo1012,
Demnach der ganze IPC-Bereich ebenso(?).
Der ist sehr schlicht gehalten IIRC.
Klar, war ja auch nur ein schneller Vorschlag zur Behebung des Problems.
Nee, ich meine ja so wie es jetzt implementiert ist ist es nicht so dolle Optimal.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, ursprünglich hat TC die Zwischenablage benutzt - was aber mühsam für den Nutzer ist, weil so die Zwischenablage beim Anzeigen von Bildern überschrieben wird. Deshalb sendet TC nun den Bildnamen mit WM_COPYDATA an Irfanview/Xnview, und erhält die Bilddaten seinerseits über WM_COPYDATA zurück.
Author of Total Commander
https://www.ghisler.com
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Nachdem das geklärt ist, bleibt noch die Frage, warum man den Irfanview-Entwickler nicht nochmal anschreiben kann, mit der Bitte, das für x64 zu korrigieren?

Ansonsten sollte vielleicht ein kurzer Hinweis in die Hilfe, dass IV x64 momentan nicht funktioniert/unterstützt wird.
TC plugins: PCREsearch and RegXtract
HAL 9000
Senior Member
Senior Member
Posts: 384
Joined: 2007-09-10, 13:05 UTC

Post by *HAL 9000 »

Habe glatt die zweite Seite übersehen. :shock:

Danke euch allen für die Mühe - unfassbar gute Community.
Auch vielen Dank an ghisler, der sich hier ja wirklich in sehr viele Themen einbringt.
Ich habe wirklich noch nie erlebt das ein Entwickler so nah bei seinen Usern ist auf auf nahezu alle Userwünsch eingeht, sofern sinnvoll. Bezieht sich jetzt auf das ganze Forum. :)

Klingt fast nach Geschleime, ist aber ernst gemeintes Lob, das einfach mal raus musste. ;)

Zwecks IF Entwickler: Hat da jemand einen direkten Draht und wäre so nett das zu übernehmen? Alternativ würde ich ihn einfach mal anmailen und auf den Thread hier stupsen. :)
Allerdings verwenden neuere TC-Versionen für JPG, PNG und GIF den Windows-Decoder, Irfanview wird nur für exotischere Formate verwendet.
Kann TC den Windows-Decoder nicht auch bei cr2 nehmen?
Mit dem passenden Microsoft Camera Codec Pack kann Windows cr2 verarbeiten. Sollte es dann nicht funktionieren?
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

HAL 9000,
Kann TC den Windows-Decoder nicht auch bei cr2 nehmen?
Mit dem passenden Microsoft Camera Codec Pack kann Windows cr2 verarbeiten. Sollte es dann nicht funktionieren?
Nur für die Miniaturansicht.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
HAL 9000
Senior Member
Senior Member
Posts: 384
Joined: 2007-09-10, 13:05 UTC

Post by *HAL 9000 »

Spricht etwas technisch dagegen das in Zukunft zu tun oder zumindest die Option dazu zu bieten?

Dann könnte man sich das ganze gebastel mit Plugins oder xn/irfanview für den Lister für die meisten Formate nämlich sparen.
Post Reply