Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Antworten
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Rexx-Problem: Wie Laufwerk / Dirs anzeigen?

Beitrag 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.
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag 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.
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag 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 */
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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?
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag von erdmann »

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

Deine WPS ist zerhauen. oo.exe muss gehen, ebenso wie SysOpenObject.
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag 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)
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag 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.
Andreas Schnellbacher
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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?
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag 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 !
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag 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.
Andreas Schnellbacher
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag 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.
Andreas Schnellbacher
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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.
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag 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 :)
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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.
erdmann
Beiträge: 594
Registriert: Mo 4. Jan 2016, 14:36

Beitrag 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.
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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.
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

Manchmal mag es auch an der berüchtigten SIQ liegen, aus welchem tieferen Grund auch immer....
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag 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?
Benutzeravatar
LotharS
Beiträge: 968
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag 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 :( .
Antworten