Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Screen-Mode-Änderungs-Vermeidung bei Starten anderer EXE

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 16.02.2005, 10:43    Titel: Screen-Mode-Änderungs-Vermeidung bei Starten anderer EXE Antworten mit Zitat

Guten Morgen lächeln

Ich hab hier mal ne allgemeine Frage, die mich schon lange interessiert:
Wenn ich eine Batch habe, welche zwei Programme (QB) nacheinander startet:
Code:
Prog1.exe
Prog2.exe
cls


Beide Programme laufen bei mir jetzt mit einer Auflösung von 1024x768x256c, könnte aber genau so gut SCREEN 12 oder so sein - das Problem ist das selbe:
Wie kann ich es vermeiden, dass man beim Aufruf der anderen EXE erstmal vor einem schwarzen Bildschirm sitzt, was dadurch hervorgerufen wird, dass nach Beendigung der ersten EXE für die Batch wieder Screen 0 gesetzt wird.

Das gleiche Problem ist bei normalem RUN ohne Umwege über eine Batch übrigens auch vorhanden.

Hat jemand da ne Idee?

Grüßle,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 16.02.2005, 17:16    Titel: Antworten mit Zitat

Solange du von beiden Progs die BAS-Quellcodes hast, könntest du sie zu einem Zusammenfassen, und als einzelne Module behandeln. Sonst fällt mir nämlcih nix ein, wie man die DOS-Routinen umgehen könnte... (Bzw die, die DOS emulieren, aber des is ja egal...)
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 16.02.2005, 20:52    Titel: Antworten mit Zitat

Hehe, nein, das ist der Sinn der Sache zwinkern
Es sind an reinen BAS-Files nämlich mittlerweile um die 3,2 MB grinsen

Naja, schade, dass DOS da dazwischenfunkt.
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 16.02.2005, 21:17    Titel: Antworten mit Zitat

Auf APIs kann man bekanntlich in vielen Bereichen auf zwei Arten zugreifen: integrierte QB-Befehle, z.B. SCREEN oder CALL INTERRUPT direkt. Im ersteren Fall verwaltet QB offene Resourcen gewissermassen mit, so dass beispielsweise eine noch offene Datei, bei der das CLOSE vergessen wurde, bei einem SYSTEM/END trotzdem geschlossen wird. Dasselbe auch bei SCREEN: QB merkt sich, dass wir zuletzt nicht mehr im SCREEN 0 waren und setzt dies zurück.

Bei CALL INTERRUPT gibt es diese Verwaltung nicht. Beim alten Commodore Amiga war es noch extremer: Wer direkt auf die intuition.library zugriff, konnte problemlos das halbe RAM mit verwaisten Screens und Windows füllen, die nach Beendigung keinem Prozess mehr gehörten.

Heutige Betriebssysteme dagegen führen genauso wie QB ebenfalls Buch darüber, wer bestimmte Resourcen belegt. Aus diesem Grund werden unter Linux offene Dateien bei einem "Segmentation fault" mit Core-Dump geschlossen - ist dort auch gut so, denn sonst könnte jemand bei mir auf den Webserver ein fehlerhaftes CGI-BIN-Script hochladen, welches nach ein paar hundert Homepagebesuchern (die alle einen "500 Internal Error" zu sehen bekommen) allmählich die File Deskriptoren aufbrauchen würden, so dass ich rebooten müsste... ;-)

Zurück aufs eigentliche Problem: Unter reinem MS-DOS 6.22 weiss ich auf alle Fälle, dass COMMAND.COM keine Rücksetzung des Videomodus vornimmt, sondern man bekommt dort sogar einen grafischen DOS-Prompt, wenn der gewählte Videomodus BIOS-Textausgabe (bei VESA nicht mehr Pflicht für einen Hersteller!) unterstützt. Dagegen bei aktivem Windows mit CMD.EXE kann es gut möglich sein, dass dieser nach Beendigung der NTVDM vom ersten .EXE alle Resourcen inkl. Videomodus wieder aufräumt - sprich zurücksetzt.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz