DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Locale ENV-Variablen | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2002-09-23, 11:28 h StefanHaegele Posts: 281 User |
Hallo, ist es möglich lokale ENV-Variablen zwischen verschiedenen Tasks zu benutzen, oder gibt es hier nur die Möglichkeit der globalen Variablen ? Wo werden diese lokale Variablen gespeichert ? Danke Stefan [ - Answer - Quote - Direct link - ] |
2002-09-23, 12:27 h DariusBrewka Posts: 899 [Banned user] |
Ich verstehe nicht ganz, was du darunter verstehst. Um daten zwischen verschiedenen Programmen auszutauschen gibt es vielerlei Möglichkeiten, dazu gehören z.B. MessagePorts. Wie willst du mit "lokalen" Env-Variablen die Synchronisation herstellen? gruss [ - Answer - Quote - Direct link - ] |
2002-09-23, 14:14 h StefanHaegele Posts: 281 User |
Hallo, nein ich möchte diese Variablen nicht zur Synchronisation verwenden, da verwende ich Semaphore und/oder Messageport oder Signale. Es geht mir darum, bei einem Project, welches mehrere Libraries, Devices und Gadgets nachlädt, eine Möglichkeit der Fehlerübermittlung im "INIT"-Fall zu haben. D.h. wenn die Library geöffnet wird und z.B. die "intuition.library" durch welche Grund auch immer nicht geöffnet werden kann, dies über ENV-Variablen kenntlich zu machen. Stefan [ - Answer - Quote - Direct link - ] |
2002-09-23, 18:54 h DariusBrewka Posts: 899 [Banned user] |
Nuja, bei der intuition.library braucht man im Allgemeinen keine Sorge zu haben, dass diese nicht geöffnet werden kann, nichtsdestotzotz gibt es soetwas wie lokale Env-Variablen nicht. Wie schon gesagt ist für die Prozesskommunikation ein MSG Port zu empfehlen. [ - Answer - Quote - Direct link - ] |
2002-09-23, 19:46 h Kronos Posts: 1168 User |
ENV-Variablen sind einfach nur Dateien die in Env: (RAM:env) bzw in Envarc: auf der SYS-Partition liegen. Alles was du machen musst ist eine Datei im RAM: erzeugen, und diese dann wieder auslesen. Viele Programme legen in Env: auch dieverse Config- Dateien an. Wobei mir jetzt nicht klar is was du mit "lokal" meinst, da ich das eher so verstehen würde das wenn du zweimal das gleiche Program startest, sie doch beide über einen seperaten Satz dieser Variablen verfügen. Das macht aber in dem von dir genannten Anwendungsfall keinen Sinn MfG Kronos -- Only the good die young all the evil seem to live forever [ - Answer - Quote - Direct link - ] |
2002-09-23, 20:40 h thomas Posts: 7717 User |
Natürlich gibt es keine "lokalen ENV-Variablen". "ENV-Variable" ist ein synonym für "globale DOS-Variable". Es gibt auch "lokale DOS-Variablen". Ich denke du beziehst dich hier auf die Funktion SetVar() und die Flags GVF_LOCAL_ONLY und GVF_GLOBAL_ONLY. Die globalen DOS-Variablen werden, wie schon gesagt, im ENV-Verzeichnis gespeichert und sind für alle Prozesse verfügbar, die lokalen sind Teil der Process-Struktur und nur diesem Prozess zugänglich. Lokal eben. Wichtig ist hier der Begriff Process. Da diese Variablen DOS-Eigenschaften sind, funktionieren sie nur in Tasks mit Process-Strukturen. Einfache Tasks haben keine DOS-Variablen. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Answer - Quote - Direct link - ] |
2002-09-23, 20:59 h Kronos Posts: 1168 User |
Kleiner Vorschlag: Lass von dem ersten Task eine Datei "Stefans_error_codes" in T: (liegt auch im Ram) anlegen, und wenn der zweite Task auftaucht überprüfft er zuerst ob die Datei existiert. Wenn diese Datei existiert sollte jeder Task sie im Lese-Modus geöffnet lassen, und beim Beenden versuchen sie zu löschen. Das klappt natürlich nur beim letzten Task, und du hinterlässt keine Spuren im System. MfG Kronos -- Only the good die young all the evil seem to live forever -- Only the good die young all the evil seem to live forever [ - Answer - Quote - Direct link - ] |
2002-09-24, 08:49 h StefanHaegele Posts: 281 User |
Hallo, danke für die Antworten. Ich hatte es mir eigentlich so gedacht, dass über die Funktion SetVar() im Fehlerfall, solange das Programm noch nicht vollständig initialisiert ist, eben diese lokalen Variablen benutzt werden. Es geht hier um ca. 2 Libraries und 4 Gadgets welche nachgeladen werden. Sobald diese ordnungsgemäß initialisiert sind, ist die Fehlerausgabe kein Problem mehr. Ich werde jetzt mal versuchen, einfach im Fehlerfall ENV-Variablen zu erzeugen, welche als Inhalt den Fehlertext enthalten und als Namen das Object haben. ( z.B.: Server.window: Kann Tools.library nicht öffnen ). Wie gesagt es geht hier alleine darum , den Benutzer eine Ausage geben zu können warum das Programm nicht startet( Aber nur solange bis die Fehlerausgabe initialisiert ist ). Stefan [ Dieser Beitrag wurde von StefanHaegele am 11.11.2002 editiert. ] [ - Answer - Quote - Direct link - ] |
2002-09-24, 15:30 h Micha1701 Posts: 938 User |
Hi! Also ich benutze zur Fehlerausgabe am Anfang eines Programmes einfach CON: . Damit kann ich ein Fenster auf der Workbench aufmachen (einfach mit einem Open() ), den Fehlertext reinschreiben und nach einer kurzen Zeit wieder zumachen. Sofern alle Libraries zur "schönen" Fehlerausgabe bereits sind, dann kann ich ja einen richtigen Requester benutzen.... -- Micha Look at my HP: http://www.lanser-online.de.vu [ - Answer - Quote - Direct link - ] |
2002-11-10, 00:55 h Uri]CoM[ Posts: [Former member] |
Warum willst du so etwas wie ENV-Variablen benutzen Nimm dafür doch einfach ganz normale globale Variablen und einen EasyRequest [ Dieser Beitrag wurde von Uri]CoM[ am 10.11.2002 editiert. ] [ - Edit - Answer - Quote - Direct link - ] |
2002-11-10, 13:29 h Uri]CoM[ Posts: [Former member] |
Und, ehem, öffne doch besser alles was du brauchst im Hauptprogramm, bevor du die Tasks erzeugst. [ - Edit - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Locale ENV-Variablen | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |