Virtual OS/2 International Consumer Education
VOICE Homepage: http://de.os2voice.org
Oktober 2002

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


OS/2-Tips

Übersetzung: Philhard Ackermann

Nach diesen kleinen Perlen durchforsten wir das ganze Web, das Usenet und die OS/2-Mailinglisten. Sind Sie über interessante Informationen über OS/2 oder eComStation gestolpert? Bitte teilen Sie doch Ihr Wissen mit unseren Lesern und schicken Sie Ihre Tipps an editor@os2voice.org. Wenn Sie an einer bestimmten OS/2-Mailingliste interessiert sind, so finden Sie weitere Informationen rund um das Abonnieren auf der VOICE Mailinglistenseite: http://de.os2voice.org/mailinglists.html

Anmerkung des Herausgebers: Diese Tipps sind von OS/2- und eComStation-Anwendern eingesandt worden und können nicht in jedem Fall von uns überprüft werden. Bitte seien Sie vorsichtig! Falls Sie sich nicht sicher sind, was Sie tun sollen, so lassen Sie es lieber bleiben.


25. August 2002 - Aus der Newsgoup rsj.de.support.cdwriter.os2 des RSJ-Newsservers stammt unser erster Tip des Monats von Lars Erdmann mit Vorschlägen, wie man ein IDE CDRW-Laufwerk mit RSJ zum laufen bringt:
Falls es sich um ein moderneres ATAPI-Gerät handelt, brauchen Sie sich keine Sorgen zu machen. Es besteht eine gute Chance, daß es klappt, auch wenn Sie vielleicht ein wenig an cddrv.inf herumfummeln müssen, um die Parameter korrekt einzustellen, weil RSJ solche Laufwerke bisweilen nicht richtig erkennt.

Falls RSJ es nicht korrekt erkennt, dann verwenden Sie "cdatapi" als Treiber und "RAW-3" für den DAO-Modus. Sollte DAO immer noch nicht funktionieren, dann versuchen Sie es mit dem Eintrag "CUESHEET" in der Datei cddrv.inf. Zusätzlich werden Sie die SCSI-ID benötigen (die ATAPI-ID wird beim Hochfahren angezeigt und stimmt üblicherweise mit der SCSI-ID überein). Außerdem können Sie auch RSJ die Arbeit überlassen, falls Sie die SCSI-ID nicht herausbekommen, indem Sie LOCKCDR.FLT ohne Parameter verwenden und sich anschließend die System-Seite des CD-Writer-Einstellungsobjekts ansehen. Dadurch erhalten Sie einen Hinweis, wie die Zeichenkette in der Datei cddrv.inf auszusehen hat.

Hier ein Beispiel für mein eigenes CD-RW:

AOPEN "CD-RW CRW2440 " 1.00 "AOPEN CD-RW CRW2440"
N/A cdatapi ATAPI RAW-3
AOPEN___CD-RW_CRW2440___1
und dies ist meine Zeile in der config.sys für LOCKCDR.FLT:
BASEDEV=LOCKCDR.FLT -I:"AOPEN CD-RW CRW2440"

27. August 2002 - Bei der comp.os.os2.programmer.misc-Usenetgruppe tauchte ein Tip als Reaktion auf eine Anfrage bezüglich Hinweisen auf, wie man das Laden von DLLs steuern könnte. Rich Walsh, eine oft zitierte Quelle von OS/2-Tips und Autor von DragText:
Ich habe eine Menge Tests (und Systemneustarts) absolviert. Hier meine Erkenntnisse:
  1. BEGINLIBPATH akzeptiert keinen ".", aber auf jeden Fall einen ".\."
  2. SIe können "SET BEGINLIBPATH=.\." in der CONFIG.SYS verwenden, um das angestrebte Resultat zu erhalten, wenn LIBPATHSTRICT=T gesetzt ist. Auf der anderen Seite ist ".\." im LIBPATH für diesen Zweck genauso nutzlos wie der standardmäßige ".".
  3. Ein Eintrag "SET LIBPATHSTRICT=T" in die CONFIG.SYS hat keine Wirkung. Sie müssen diesen Schalter im Zielprozess oder in dem Prozess, der die gewünschte Anwendung aufruft, setzen. In der Praxis müssen Sie das also in der Befehlszeile eingeben und dann aus derselben Befehlszeile die Anwendung aufrufen.

  4. Ein paar erklärende Worte für unbeteiligte Zuschauer: tatsächlich sind weder BEGIN/ENDLIBPATH noch LIBPATHSTRICT Umgebungsvariablen. Als das Basissystem um BEGIN/ENDLIBPATH erweitert wurde, hat man cmd.exe so verändert, das sie jeden eingegebenen SET-Befehl untersucht. Erscheint hier "SET BEGINLIBPATH=" oder "SET ENDLIBPATH=", dann setzt cmd.exe den API-Aufruf DosSetExtLIBPATH() ab, um die angegebenen Werte im eigenen Prozess zu vermerken. Die eingetragenen Werte werden danach von jedem Prozess, den cmd.exe aufruft, übernommen.

    Offenbar wurde auch die Systembasis erweitert, so daß ein Vorhandensein dieser Anweisungen in der CONFIG.SYS dazu führt, daß diese Werte globalisiert werden und jedem Prozess zur Verfügung stehen. Scheinbar wurde beim Hinzufügen von LIBPATHSTRICT zwar cmd.exe nochmal erweitert, die Systembasis jedoch nicht. Deshalb funktioniert "SET LIBPATHSTRICT=" von der Befehlszeile aus, nicht aber in der CONFIG.SYS.
     

  5. Solange die Systembasis nicht entsprechend angepaßt wird, scheint die einzige Möglichkeit, "LIBPATHSTRICT=T" global (bzw. in etwa global) zu setzen, darin zu bestehen, daß man eine Einrichtung wie mein RWL-Utility schafft, welche in den Shell-Prozess (pmshell #1) eintritt und es von dort setzt. Da pmshell zum Ursprung aller anderen Prozesse wird, sobald es geladen wurde, hätte das den gewünschten Effekt.
Dem hatte Mikus Grinbergs das folgende hinzuzufügen:
Wie irgendjemand bereits dargelegt hat: Verwenden Sie SET LIBPATHSTRICT=T.

Dies muß von der Sitzung aus abgesetzt werden, in der es greifen soll - aus der config.sys heraus wird es nicht funktionieren.

Mein Modell seiner Arbeitsweise (ohne Gewähr): Wird dies gesetzt, dann durchläuft OS/2 den aktiven LIBPATH auf der Suche nach einer DLL mit dem gewünschten Dateinamen. Wird eine solche gefunden, dann wird sie in den Speicher geladen und mit dem anfordernden Programm verbunden. Sollte jedoch eine DLL mit identischem Dateinamen und identischem Pfad bereits geladen sein, dann wird diese vorher geladene DLL an das Programm gehängt (wodurch mehrfaches laden von DLLs mit identischer Datei- und Pfadinformation vermieden wird).

Beachten Sie bitte, daß ein '.;' im BEGINLIBPATH bei aktivem LIBPATHSTRICT keine Wirkung mehr hat - ein '.\.;' andererseits wird wirksam.

Beachten Sie bitte auch, daß die verfügbaren Odin-Versionen einen Sprung zur Speicherstelle 0 ausführen, wenn SET LIBPATHSTRICT=T in der betroffenen Session angegeben wurde.


5. September 2002 - Und noch ein weiterer Tip aus der Newsgruppe rsj.de.support.cdwriter.os2 des RSJ-Servers, diesmal bezüglich des Löschens von CDRW-Medien. Peter Browns Vorschlag:
Sie könnten mal das cdrecord/2-Paket zum Löschen Ihrer CDRWs ausprobieren :- > http://www.geocities.com/SiliconValley/Sector/5785/cdrecord/cdrecordmain.htm

Möglicherweise benötigen Sie auch das CDRTools-Frontend, welches auch auf dieser Seite verlinkt ist.

Botka Laszlo gab zur Antwort, daß der Tip hilfreich war:
Ich probierte es mit cdrecord + Audio-CD-Creator. Die Funktionen zum Schnelllöschen, Alles löschen und Löschen der letzten Sitzung liefen nicht erfolgreich, die Funktion zum Aufheben des Abschlusses der letzten Sitzung beklagte sich zunächst über irgendeinen OPC-Fehler, löschte die CDRW aber anschließend. Danach habe ich sie mit RSJ formatiert und kann sie seitdem ganz normal verwenden. Vielen Dank für den Tip.

5. September 2002 - Irgendwer war in der Usenet-Gruppe comp.os.os2.setup.storage auf der Suche nach einem Lesegegerät für CompactFlash-Karten, welches unter OS/2 läuft. John Varela empfahl folgendes:
http://www.mydigitaldiscount.com/display_product.cfm?product_id=25

Hot Removable IDE Compact Flash IBM MicroDrive Reader Writer $19.99

Ich bestellte das Gerät, und der Endpreis einschließlich Versandkosten belief sich auf $27.49. Meine Bestellung war an einem Dienstag, das Gerät traf am Donnerstag ein, ich installierte es am Freitag und es lief wie angepriesen. Das einzige Problem (neben meinen eigenen dummen Fehlern) war die Größe dieses Geräts - es ist so klein, daß das IDE-Kabel nicht heranreichte, bis ich die Anordnung meiner IDE- und Diskettenlaufwerke veränderte. Wie es scheint sind IDE-Verlängerungskabel kaum zu bekommen.


7. September 2002 - Es gibt eine Menge undokumentierter Einträge in der CONFIG.SYS unter OS/2. Wenn ich etwas über einen solchen finde, und selbst wenn ich ihn mir gar nicht richtig erklären kann, reiche ich ihn üblicherweise weiter, nur für den Fall, daß ihn später jemand lesen und einen Vorteil davon haben oder ihn nützlich finde könnte. Hier nun das, was Trevor Hemsley über DLLBASING= zu sagen hat:
Ich habe ein kleines Progrämmchen, das mittels DosQuerySysInfo() Systeminformationen von OS/2 abruft. Es schreibt eine Menge Zeug auf den Bildschirm. Ich ließ es vor und nach DLLBASING=OFF laufen, um die Unterschiede zu erkennen, und nach Entfernen aller Zeilen über Zeitscheiben und Systemlaufzeiten, hier sind nun die Unterschiede:
 
DLLBASING  VALUE
ON QSV_TOTAVAILMEM = 194945024
OFF QSV_TOTAVAILMEM = 247840768
ON QSV_MAXPRMEM = 274857984
OFF QSV_MAXPRMEM = 339345408
ON QSV_MAXSHMEM = 240779264
OFF QSV_MAXSHMEM = 309395456
Dazu sagt die Hilfe für DosQuerySysInfo:

QSV_TOTAVAILMEM - Maximale Anzahl von Speicherbytes, die von allen Prozessen im System belegt werden kann.

QSV_MAXPRMEM - Maximale Anzahl von Speicherbytes, die dieser Prozess in seinem privaten Speicherbereich anfordern kann.

QSV_MAXSHMEM - Maximale Anzahl von Speicherbytes, die ein Prozess im gemeinsam genutzen Speicherbereich anfordern kann.


[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org