VOICE Homepage: http://de.os2voice.org |
Oktober 2002
[Inhaltsverzeichnis]
|
Ü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.
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"und dies ist meine Zeile in der config.sys für LOCKCDR.FLT:
N/A cdatapi ATAPI RAW-3
AOPEN___CD-RW_CRW2440___1BASEDEV=LOCKCDR.FLT -I:"AOPEN CD-RW CRW2440"
Ich habe eine Menge Tests (und Systemneustarts) absolviert. Hier meine Erkenntnisse:Dem hatte Mikus Grinbergs das folgende hinzuzufügen:
- BEGINLIBPATH akzeptiert keinen ".", aber auf jeden Fall einen ".\."
- 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 ".".
- 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.
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.
- 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.
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.
Sie könnten mal das cdrecord/2-Paket zum Löschen Ihrer CDRWs ausprobieren :- > http://www.geocities.com/SiliconValley/Sector/5785/cdrecord/cdrecordmain.htmBotka Laszlo gab zur Antwort, daß der Tip hilfreich war:Möglicherweise benötigen Sie auch das CDRTools-Frontend, welches auch auf dieser Seite verlinkt ist.
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.
http://www.mydigitaldiscount.com/display_product.cfm?product_id=25Hot 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.
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:Dazu sagt die Hilfe für DosQuerySysInfo:
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 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