Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Post by DonLucio »

Ich habe ein Verzeichnis, z.B. G:\Photos\2021. Darin befinden sich x Dateien.
Ich versuche jetzt, aus einem Rexx-Programm heraus dieses Dir mit WPS-Mitteln anzuzeigen, also dasselbe zu erreichen, wie wenn ich
(1) das Laufwerks-Icon öffne, dann
(2) Laufwerk G: auswähle (doppelklicke), dann
(3) den Ordner "Photos" auswähle (doppelklicke), dann
(4) den Unterordner "2021" auswähle (doppelklicke).

Ich stelle mir vor, das müßte mit einem SysCreateObject("WPFolder", "<MyFolder>", "<WP_DESKTOP>", ... ) funktionieren.

Ich scheitere aber kläglich. Im Ergebnis erzeugt sich zwar ein Folder-Object auf meiner WPS, auch Iconfile wird akzeptiert und andere Sachen, aber der Ordner ist leer. Und in den Setup-Strings finde ich keinen Parameter, wo ich meinen Pfad ("G:\Photos\2021") angeben könnte.

Was mache ich falsch?

Danke,
Lutz W.

erdmann
Posts: 450
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

Deine Vorstellung davon, was ein WPFolder Objekt ist, ist falsch. Ein WPFolder Objekt repräsentiert direkt ein real existierendes Verzeichnis. Du hast also ein reales Verzeichnis unter "Arbeitsoberfläche" erzeugt.

Warum benutzt du nicht einfach oo.exe um ein Verzeichnis zu öffnen? Das kann so meine ich auch mit Verzeichnispfaden umgehen.

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

DonLucio wrote:
Sat 25. Sep 2021, 17:15
Ich stelle mir vor, das müßte mit einem SysCreateObject("WPFolder", "<MyFolder>", "<WP_DESKTOP>", ... ) funktionieren.

Ich scheitere aber kläglich. Im Ergebnis erzeugt sich zwar ein Folder-Object auf meiner WP
Damit kreierst Du nur ein WPS-_Objekt_, als Icon sichtbar und echt als <MyFolder> in OS2.INI...

Korrekt aber mit SysOpenObject, z.B. rc = SysOpenObject("G:\Photos\2021", 0, 0). /* 1=ok, 0=nicht-ok */

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

erdmann wrote:
Sat 25. Sep 2021, 18:11
Warum benutzt du nicht einfach oo.exe um ein Verzeichnis zu öffnen? Das kann so meine ich auch mit Verzeichnispfaden umgehen.
Nie gehört ... Wohl 'n Geheimtipp.

Leider hat das auch seine Probleme:
"oo /O G:\Photos\2021" -> Nix passiert. Die Fensterliste zeigt zwar einen Eintrag gleichen Namens an ("G:\Photos\2021"), aber jeder Versuch, durch "Open" dieses Objekt sichtbar zu machen, geht ins Leere. Passiert nix. Versuche, eine View anzugeben, führen zu kryptischen Fehlermeldungen.

Kann es sein, dass oo.exe in ObjectRexx "kompiiiert" wurde?

LotharS wrote:
Sat 25. Sep 2021, 18:17
Korrekt aber mit SysOpenObject, z.B. rc = SysOpenObject("G:\Photos\2021", 0, 0). /* 1=ok, 0=nicht-ok */
Genau dasselbe Ergebnis wie oben beschrieben mit oo.exe:
Die Fensterliste zeigt zwar einen Eintrag an, aber es öffnet sich nichts.

Hab ich 'nen Hau in meiner WPS?

erdmann
Posts: 450
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

oo.exe benutzt den RWS Server und ist ein nacktes Executable.

Deine WPS ist zerhauen. oo.exe muss gehen, ebenso wie SysOpenObject.

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

Dann versuchs mal zuerst lokal auf Kommandozeile:

Rexxtry
und dann:
say sysopenobject("c:\os2\dll", 0, 0)

Ob Du Classic- oder O-Rexx oben hast, kannst Du mit "switchrx" erkennen (oder ändern)

aschn
Posts: 1202
Joined: Wed 25. Dec 2013, 22:47

Post by aschn »

So wie ich das aus der Entfernung lese, kann es auch sein, dass nur der Ordner außerhalb des Desktops liegt.

Ich verschiebe solche Objekte (kommt auch häufig bei NewView vor) dann mit lSwitcher. Ich hab 2x XCenter. Das obere ganz normal, aber ohne Fensterliste, das untere mit lSwitcher. Da gibt es für jedes Objekt im Kontextmenü den Punkt "Move". Wenn man den anklickt, erscheint der Rahmen des verschwundenen Objekts, das am Mauszeiger zu kleben scheint. Mit Mausbewegungen verschiebt man dies dann und klickt dann dort wo man es hinhaben will.

Mit normalen WPS-Methoden geht das auch, wie ich neulich herausgefunden hab: Fensterliste öffnen und Kontextmeü in der Fensterliste für den verschundenen Objekttitel aufrufen. Da fehlt das "Move". Dafür nimmt man "Show". Jetzt hat das Objekt den Fokus, auch wenn es nicht sichtbar ist. Dann Alt+F7 zum Verschieben wie oben.
Andreas Schnellbacher

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

aschn wrote:
Sat 25. Sep 2021, 19:35
Dann Alt+F7 zum Verschieben wie oben.
Das habe ich auch versucht. Hilft oft bei "Off-Borders"-Anordnung von Fenstern.
Im vorliegenden Fall (mit oo.exe oder SysOpenObject) passiert bei <Alt>F7 folgendes:

Ich sehe einen dünnen Rahmen mitten über meinem Desktop auftauchen, nur die Ränder, nix Inhalt. Ich kann dieses Phantom-Fenster hin- und herschieben, aber Maus loslassen läßt das Phantom verschwinden.

Ja, ich glaube, meine WPS hat einen Schaden.
Aber worher?

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

DonLucio wrote:
Sat 25. Sep 2021, 19:57
Ja, ich glaube, meine WPS hat einen Schaden.
Manchmal kann schon Hausputz helfen :)

Code: Select all

Ins cleanini-Verzeichnis wechseln und dort: 
cleanini.exe /c /Restart /Delall /remote:delete /multipass /Logdel > clean.txt
und das Resultat anschauen
Viel Erfolg !

aschn
Posts: 1202
Joined: Wed 25. Dec 2013, 22:47

Post by aschn »

Wenn man nach CleanIni mit 2x Ctrl+Alt+Del (2x wegen CAD_POP.EXE) einen Systemneustart durchführt, dann bleiben auch die Desktopsymbole da, wo sie waren. Also /Restart entfernen. Das macht nämlich nur einen WPS-Neustart, der das Problem erst bewirkt. Fragt mich nich, warum, klappt aber bei mir.

Wenn die EAs für das Verzeichnis hinüber sind, dann hilft auch das nicht. Dann vielleicht mit noEA (aus dem LxLite-Paket) löschen und wieder Ctrl+Alt+Del. Sonst fällt mir noch Verschieben in ein neues Verzeichnis ein. Anschließend die Leiche mit CleanIni entfernen.
Andreas Schnellbacher

aschn
Posts: 1202
Joined: Wed 25. Dec 2013, 22:47

Post by aschn »

DonLucio wrote:
Sat 25. Sep 2021, 19:57
Ich sehe einen dünnen Rahmen mitten über meinem Desktop auftauchen, nur die Ränder, nix Inhalt.
Alles gut.
DonLucio wrote:
Sat 25. Sep 2021, 19:57
Ich kann dieses Phantom-Fenster hin- und herschieben, aber Maus loslassen läßt das Phantom verschwinden.
Das ist kein Phantomfenster. Das ist ein Rahmen, der die Größe des Objekts anzeigt. Ganz normal. Wenn Du nicht mit links irgendwo auf den Desktop klickst, dann verschwindet auch der Rahmen wieder.

Was es auch noch gibt, das sind Ordner mit durchsichtigem Inhalt. Das ist ein WPS-Problem.
Andreas Schnellbacher

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

Na klasse! Meine gestrigen Experimente mit oo.exe und SysOpenObject() haben nicht nur direkt keinen Erfolg gehabt, sondern auch alle meine WPS-Funktionen, die im Öffnen von Objekten bestehen, ruiniert.

Egal, wo ich zwecks Öffnen drauf doppelklicke: es erscheint immer dieser leere Phantom-Rahmen. Gottseidank, nach Reboot war der Spuk weg.

Ich glaub, ich lass' es lieber. Bleibt die Frage, was ist mit meiner WPS passiert, in dem halben Jahr, seit ich ganz normal ohne Trickserei die AOS 5.0.6 installiert hatte.

Danke trotzdem für alle Tips.

Lutz W.

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

DonLucio wrote:
Sun 26. Sep 2021, 14:38
Na klasse! Meine gestrigen Experimente mit oo.exe und SysOpenObject() haben nicht nur direkt keinen Erfolg gehabt, sondern auch alle meine WPS-Funktionen, die im Öffnen von Objekten bestehen, ruiniert.
Das ist natürlich der superenorme Hit, wenn ich Dir von x-zig erfolgreichen Aufrufen des SysOpenObject() erzähle :shock:
Zum Besipiel gestern zum Testen wiederholt der Tipp > SysOpenObject("C:\OS2\DLL", 0, 0) <; vorne muss ein voller Pfad stehen, kein relativer. Der dritte Eintrag darf 0 oder 1 sein:
Eingefangen001.png
Vielleicht ist es "nur" ein Mengenproblem, also Geduld ? Oder aber die INIs sollten (sowieso öfters) bereinigt werden (checkini, cleanini; Anzahl Blöcke? etc.). War im Forum schon öfters die Frage....

Wir glaub'ich alle drücken Dir die Daumen :)
You do not have the required permissions to view the files attached to this post.

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

LotharS wrote:
Sun 26. Sep 2021, 15:15
Das ist natürlich der superenorme Hit, wenn ich Dir von x-zig erfolgreichen Aufrufen des SysOpenObject() erzähle :shock:
Ich glaub dir ja, dass es bei dir (und anderen) funktioniert. Mach' dir mal keine Sorgen, ich bin nicht geschockt :-)

Warum es bei meiner WPS diese Probleme gibt - weiß nicht, muß ich mit leben.

LotharS wrote:
Sun 26. Sep 2021, 15:15
Wir glaub'ich alle drücken Dir die Daumen :)
Danke für die guten Wünsche :-)

Inzwischen konnte ich das Problem - nein, die Aufgabenstellung - lösen mit einem Workaround, der immer wieder aufs Erstaunlichste gut funktioniert: Mit einem Dreizeiler in diesem wirklich legendären VXRexx. Mit einem Klick in der GUI definiert man ein Fenster und mt der Funktion "FillFromDir" und dem gewünschten Verzeichnis-Pfad als Parameter füllt man die Datenobjekte da rein. Ist zwar 10 Minuten längere Code-Zeit, aber es funzt.

Muß bei der Gelegenheit noch einmal mein allertiefstes Bedauern darüber ausdrücken, dass dieses Produkt schon seit 20 Jahren nicht weiterentwickelt wird (abgesehen davon, dass verdiente Leute wie Alex Taylor mal eine Plugin-DLL gebaut und damit die Funktions-Auswahl erweitert haben).

Gruß,
Lutz W.

erdmann
Posts: 450
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

Gut, das funktioniert natürlich auch aber der VxRexx Code nutzt sicher direkt die Control und die PM API und umgeht komplett die WPS.

Du hast definitiv ein WPS Problem, aber das ist ja Standard bei der Qualität der WPS. Ich hatte auch schon die abstrusesten Fehler.
Z.B. hatte ich ein Shadow des \MMOS2\SOUNDS Verzeichnisses auf den Desktop gelegt und das Shadow Icon fixiert (damit es nicht verschoben werden kann). Das führte dazu, dass ich unter der WPS nicht mehr den Inhalt des \MMOS2 Verzeichnisses anzeigen konnte.
Dies deshalb, weil ein Fixieren des Icons nicht nur das Shadow Icon fixiert sondern auch das originale Icon im entsprechenden Folder! Und das führt dann zu den Anzeige Problemen.

Solltest das vielleicht auch in Betracht ziehen.

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

erdmann wrote:
Mon 27. Sep 2021, 17:35
Solltest das vielleicht auch in Betracht ziehen.
Mir ist gerade eingefallen, was bei mir die Ursache für WPS-Ungereimtheiten sein könnte: Ich benutze die Stardock-Software ObjectDesktop, seit gefühlt 100 Jahren. Und diese Programme greifen teilweise tief in die WPS-Logik ein. I.d.R. unauffällig, aber ich vermute mal, dass da der Hase im Pfeffer liegt. Denn meine INIs sind eigentlich alle täglich geCLEANed.

Ich werde das mal zum Anlass nehmen, mich vom ObjectDesktop zu verabschieden und durch XPager zu ersetzen. Mal sehen, ob das was ändert.

Gruß,
Lutz W.

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

Manchmal mag es auch an der berüchtigten SIQ liegen, aus welchem tieferen Grund auch immer....

User avatar
DonLucio
Posts: 677
Joined: Sun 29. Dec 2013, 01:14
Location: Hamburg

Post by DonLucio »

LotharS wrote:
Wed 29. Sep 2021, 10:30
Manchmal mag es auch an der berüchtigten SIQ liegen, aus welchem tieferen Grund auch immer....
SIQ? Was ist das?

User avatar
LotharS
Posts: 804
Joined: Sun 29. Dec 2013, 20:07
Location: Düsseldorf

Post by LotharS »

Zumal hier gerad viel von "Retro" im Gespräch ist: :lol:
Synchronous Input Queue (SIQ).
Zum Glück hilft manchmal "Strg+Esc", sonst Reboot :( .