Seite 1 von 1

Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 17:15
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 18:11
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 18:17
von LotharS
DonLucio hat geschrieben: Sa 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 */

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 18:40
von DonLucio
erdmann hat geschrieben: Sa 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 hat geschrieben: Sa 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?

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 19:20
von erdmann
oo.exe benutzt den RWS Server und ist ein nacktes Executable.

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

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 19:23
von 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)

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 19:35
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 19:57
von DonLucio
aschn hat geschrieben: Sa 25. Sep 2021, 19:35Dann 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?

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 20:48
von LotharS
DonLucio hat geschrieben: Sa 25. Sep 2021, 19:57 Ja, ich glaube, meine WPS hat einen Schaden.
Manchmal kann schon Hausputz helfen :)

Code: Alles auswählen

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

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 21:30
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Sa 25. Sep 2021, 21:41
von aschn
DonLucio hat geschrieben: Sa 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 hat geschrieben: Sa 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: So 26. Sep 2021, 14:38
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: So 26. Sep 2021, 15:15
von LotharS
DonLucio hat geschrieben: So 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 :)

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Mo 27. Sep 2021, 12:03
von DonLucio
LotharS hat geschrieben: So 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 hat geschrieben: So 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Mo 27. Sep 2021, 17:35
von 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Di 28. Sep 2021, 11:04
von DonLucio
erdmann hat geschrieben: Mo 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.

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Mi 29. Sep 2021, 10:30
von LotharS
Manchmal mag es auch an der berüchtigten SIQ liegen, aus welchem tieferen Grund auch immer....

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Mi 29. Sep 2021, 12:58
von DonLucio
LotharS hat geschrieben: Mi 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?

Re: Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Verfasst: Mi 29. Sep 2021, 14:41
von 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 :( .