ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Locale ENV-Variablen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
23.09.2002, 11:28 Uhr StefanHaegele Posts: 281 Nutzer |
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 [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 12:27 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
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 [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 14:14 Uhr StefanHaegele Posts: 281 Nutzer |
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 [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 18:54 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
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. [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 19:46 Uhr Kronos Posts: 1168 Nutzer |
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 [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 20:40 Uhr thomas Posts: 7718 Nutzer |
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/ [ - Antworten - Zitieren - Direktlink - ] |
23.09.2002, 20:59 Uhr Kronos Posts: 1168 Nutzer |
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 [ - Antworten - Zitieren - Direktlink - ] |
24.09.2002, 08:49 Uhr StefanHaegele Posts: 281 Nutzer |
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. ] [ - Antworten - Zitieren - Direktlink - ] |
24.09.2002, 15:30 Uhr Micha1701 Posts: 938 Nutzer |
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 [ - Antworten - Zitieren - Direktlink - ] |
10.11.2002, 00:55 Uhr Uri]CoM[ Posts: [Ex-Mitglied] |
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. ] [ - Ändern - Antworten - Zitieren - Direktlink - ] |
10.11.2002, 13:29 Uhr Uri]CoM[ Posts: [Ex-Mitglied] |
Und, ehem, öffne doch besser alles was du brauchst im Hauptprogramm, bevor du die Tasks erzeugst. [ - Ändern - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Locale ENV-Variablen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |