[Squeak-ev] CommandShell in SqueakLand

Markus Biermaier mbier at office-m.at
Mit Apr 18 09:36:56 UTC 2007


Hallo,

danke für die Hilfe mit den LenkRädern. Funktioniert bestens!

Eine nächste Frage:

Mein OS ist Linux.
Die Pakete
- squeak-vm-3.7i7sl-4.i386.rpm
- squeakland-3.8-3.noarch.rpm
habe ich installiert.
Die Standard-Beispiele funktionieren.

Ich hätte gerne die Funktionalität andere Programme aufzurufen -  
ähnlich dem Aufruf system ("Command") in anderen ProgrammierSprachen.
Nach meinem Googeln muss ich dazu die Packages "OSProcess" und  
"CommandShell" installieren.

KurzFassung:
Ich kann diese Pakete mit Übergehen einiger FehlerMeldungen und  
Warnungen installieren. Und CommandShell funktioniert auch.
Aber sobald ich SqueakLand verlasse und neu starte sind die neuen  
Pakete wieder weg.

Meine Schritte im Detail:
1) Ich starte SqueakLand und öffne im Welt-Menü den "(SqueakMap)  
Package Loader".
2) Es erscheint die Meldung, dass der SqueakMap Master Server die  
Version 2.2 hat, der Client aber 2.0 und ob ich das SqueakMap package  
upgraden will. Ich antworte "yes".
3) Während des Upgrades erscheint die Meldung "...Undefined  
Object>>flush..."
4) Der Package Loader wird geladen. Es erscheint ein Browser mit 689  
Paketen.
5) Ich selektiere "CommandShell" und erhalte die Warnung, dass dieses  
Pakete keine Releases für meine SqueakVersion enthält, und die Frage,  
ob ich eine Release für irgend eine SqueakVersion versuchen will. Ich  
antworte "yes".
6) Ich erhalte die Warnung, dass dieses Paket nicht als kompatibel  
mit meiner image Version (Squeakland 3.8) gelistet ist, und ob ich  
die Installation fortsetzen will. Ich antworte "yes".
7) Es erscheint eine Meldung über einen Fehler: ...Undefined  
Object>>flush..."
8) Das Paket hat sich installieren lassen. "CommandShell"  
funktioniert aber noch nicht.
9) Ich installiere das Paket "OSProcess"
10) Es erscheint eine Meldung über einen Fehler: ...Undefined  
Object>>flush..."
11) Ich öffne ein WorkSpace Fenster, gebe ein: "CommandShell command:  
'ls -l' und es funktioniert!
12) Dann versuche ich zu "publizieren" und erhalte die Meldung: "Some  
block(s) which reference instance variables are included in this  
segment. These may fail when the segment is loaded if the class has  
been reshaped. What would you like to do?" Ich wähle "keep going".
13) Ich beende SqueakLand und starte es neu (1).
14) Die Meldung: "Reading an instance of SMMaintainableObject. Which  
modern class should I translate it to? Let me type the name now. Let  
me think about it. Let me find a conversion find on the disk." Diese  
Sache verstehe ich gar nicht.

Was mache ich falsch?

Vielen Dank für jeden Tipp

Markus