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:

Unterschied QB und QBE

 
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
Vinterblot



Anmeldungsdatum: 05.09.2013
Beiträge: 4
Wohnort: Deutschland

BeitragVerfasst am: 05.09.2013, 14:22    Titel: Unterschied QB und QBE Antworten mit Zitat

Hallo,


Ich schildere meine Problem mal in aller Ausführlichkeit und in chronologischer Reihenfolge für die Interessierten. Am Ende pack ich eine Zusammenfassung der eigenen Fragestellung in den Thread, für diejenigen, die sich für die Geschichte hinter dem Problem nicht interessieren zwinkern

Hier an der Uni haben wir eine Verdampferanlage, mit welcher wir verschiedene Materialien auf Proben aufdampfen (Gold, Titan...). Gesteuert wird das ganze u.a. von einem Uralt-MS-DOS-Rechner, welcher mittels spezieller Erweiterungskarten und einer in Quickbasic programmierten Software auf die Anlage zugreift.

Ich versuche mich seit kurzem als jemand mit Kenntnissen in Programmierung (aber nicht in Quickbasic und auch nicht unter DOS) in die Software einzuarbeiten. Genauer gesagt soll ich eine Funktion, welche in einem anderen Zusammenhang (automatisiert) bereits existiert, etwas abwandeln und manuell verfügbar machen. Dabei stoße dabei jedoch bereits zu Beginn auf ein Problem, welche mit meiner Unkenntnis über Quickbasic und den Compiler zusammenhängt:

Dazu muss man wissen, dass das Programm über 20 Jahre alt ist und seit Anfang der 90er auch niemand mehr etwas daran gemacht hat. Dokumentationen o.ä. gibt es nicht.

Zu den Erweiterungskarten gehören verschlüsselte (properitäre) Bibliotheken, welche wir nicht einsehen können (und von denen ich bis jetzt auch nicht weiß, welche Dateien das im speziellen sind, ich weiß nur: Sie existieren, liegen irgendwo auf dem Rechner und sind verschlüsselt.)

Mein Versuch, mich mittels qb.exe durch den Code zu debuggen um ein Gefühl für die Struktur des Codes zu bekommen scheiterte jedoch bereits zu Beginn, da mir der Compiler mitteilte, dass ein Unterprogramm ("Translate") nicht definiert wäre. Nach Rücksprache habe ich herausgefunden, dass "Translate" wohl in den verschlüsselten Bibliotheken zu finden wäre. Auch habe ich herausgefunden, dass das Programm alle paar Jahre zum ändern von gewissen Parametern (Hardcoded) neu kompiliert werden muss. Zum letzten Mal geschah das 2011.

Ich wusste zu diesem Zeitpunkt also
1) Das Programm wurde 2011 neu kompiliert
2) Ich kann es heute nicht mehr kompilieren, weil er scheinbar die Bibliotheken nicht mehr findet.

Jetzt der Twist: Nach vielem hin und her und dem wälzen alter Laborbücher fanden wir eine Anleitung zum kompilieren. In dieser Anleitung wird der Quellcode nicht wie ich es bisher gemacht habe aus qb.exe geladen, sondern mittels des Befehls

qbe evapo

aufgerufen. Dadurch wird die Entwicklungsumgebung geöffnet und der Code sofort geladen (Evapo.exe ist das Program, evapo.txt entsprechend der Code).

Und siehe da: Jetzt kann das Programm problemlos kompiliert werden.

-------------------------------------------------------------------
Zusammenfassung:

Wenn ich in QB.exe ein uraltes Programm lade, findet er bestimmte Bibliotheken nicht und kann nicht kompilieren.

Rufe ich den Programmcode mittels QBE Evapo (das Programm) auf, so öffnet sich ebenfalls die Programmierumgebung, jetzt kann ich das Programm aber problemlos kompilieren und er findet alle nötigen Bibliotheken.

Und mir als völligen Quickbasic- und DOS-Leien stellt sich nun die Frage:
Wieso ist das so? Beim Vergleich von QBE und QB konnte ich keinen Unterschied finden, die Suchpfade für Include, Exe, Lib etc. sind in beiden Fällen gleich.

3 Fragen stellen sich mir in dem Zusammenhang nun im speziellen:
1) Wo ist der Unterschied zwischen qb.exe und qbe?
2) Wie kann ich dass ganze auf meinem modernen Arbeitslaptop in der Dosbox nachstellen? Einen Befehl qbe habe ich bei mir nicht zur Verfügung
3) Gibt es einen Weg herauszufinden, welche der verschlüsselten Bibliotheken nun tatsächlich an welcher Stelle im Code benutzt werden?

Ich danke vielmals für eure Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.09.2013, 14:35    Titel: Antworten mit Zitat

Ich kann jetzt auch nur raten, aber ich vermute, dass QBE nichts weiter als der Name einer Batch-Datei (QBE.BAT) ist, die QB.EXE mit zusätzlichen Parametern aufruft. Um eine binäre Bibliothek (QLB-/LIB-Datei) in QB "bekannt zu machen", muss diese beim Start der IDE mit dem Parameter /L übergeben werden, so wie man das auch von einem typischen C-Compiler kennt (nur dass man es dort nicht an die IDE übergibt), "QB.EXE /LFOO" würde z.B. FOO.QLB laden... Schau also mal nach, ob QBE tatsächlich einfach nur eine Batch-Datei ist, die mit /L irgendwelche Bibliotheken an QB übergibt.

Eventuell ist diese QBE-Datei irgendwo im DOS-Suchpfad versteckt, das müsstest du halt durch eine manuelle Dateisuche rausfinden. Wenn du dann alle Bibliotheken lokalisiert hast, kannst du diese "einfach" auf einen anderen Rechner kopieren und mit DOSBox arbeiten.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Vinterblot



Anmeldungsdatum: 05.09.2013
Beiträge: 4
Wohnort: Deutschland

BeitragVerfasst am: 05.09.2013, 15:42    Titel: Antworten mit Zitat

Hey du!

Super, dass klingt doch auf den ersten Blick alles recht einleuchtend.
Leider bin ich mittlerweile nicht mehr vor Ort um es auszuprobieren, melde mich aber, wenn ich näheres weiß.

Dann wäre auch das e in qbe kein Zufall, denn das Programm heißt ja Evapo zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 05.09.2013, 15:47    Titel: Re: Unterschied QB und QBE Antworten mit Zitat

Hallo und willkommen im Forum!
Vinterblot hat Folgendes geschrieben:
2) Wie kann ich dass ganze auf meinem modernen Arbeitslaptop in der Dosbox nachstellen? Einen Befehl qbe habe ich bei mir nicht zur Verfügung

Das größte Problem daran dürfte sein, dass die Software ja wahrscheinlich sehr hardwarenah entwickelt ist. Das heißt, über eingebettete CALL ABSOLUTE-Maschinenprogramme, CALL INTERRUPT(X)-Aufrufe oder INP-/OUT-Anweisungen werden direkt Funktionen der Spezialhardware (Erweiterungskarten) aufgerufen. Die Kommunikation mit diesen speziellen Gerätschaften (vermutlich ISA-Karten?) lässt sich in der DOSBox nicht nachstellen. Du könntest höchstens hardware-unabhängige Bestandteile (Berechnungen, Benutzeroberflächen, ...) mit DOSBox auf einem normalen Laptop testen, aber nicht das gesamte Programm testweise ablaufen lassen.

Um zu verhindern, dass man sich zusätzliche Fehler durch fehlende Dateien, andere Pfade, ein anderes "Betriebssystem" (im DOSBOX-Emulator), ... einhandelt, könnte man auch überlegen, ein Gesamt-Image der DOS-PC-Festplatte zu ziehen und das in einer Virtualisierungssoftware einbinden. Also nicht gezielt Quelltexte und Dateien rauspicken, sondern ein Abbild der ganzen Festplatte erzeugen und dann versuchen, das in VMWare oder so einzubinden. Bleibt natürlich auch noch das Problem, dass auch da die angesprochene Hardware nicht verfügbar ist.

Viele Grüße!
Sebastian
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Vinterblot



Anmeldungsdatum: 05.09.2013
Beiträge: 4
Wohnort: Deutschland

BeitragVerfasst am: 05.09.2013, 17:59    Titel: Antworten mit Zitat

Hallo,

japp, es handelt sich um ISA-Karten und es stimmt, "einfach so" das Programm laufen lassen wird nicht funktionieren. Im besten Fall läuft die Schnittstelle auf einen Fehler und gibt einen Errorcode zurück, wenn sie feststellt, dass die entsprechende Hardware nicht vorhanden ist. Im schlimmsten Fall fliegt mir das Teil um die Ohren happy

Aber es ging mir auch gar nicht darum, die Software komplett auf dem Laptop laufen zu lassen. Ich hoffe einfach darauf, dass ich ohne großen Aufwand mich am Laptop ein bisschen durch-debuggen kann um ein Gefühl für die Software bekommen kann und dann das eigentliche Problem an ein oder zwei Nachmittagen an der echten Software zu beheben. Die Alternative wäre nämlich, dauerhaft im klimatisierten Labor zu hocken in dem es nichtmal einen vernünftigen Schreibtisch gibt grinsen

Aber schauen wir erstmal ob dass mit dem qde stimmt (Was die beste Idee ist, die ich zu dem Thema bislang gehört hab)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
micha



Anmeldungsdatum: 09.12.2005
Beiträge: 66

BeitragVerfasst am: 14.09.2013, 19:45    Titel: Antworten mit Zitat

Hat die Anlage etwas mit der Simulation von Korrosionszuständen zu tun ?

Micha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Vinterblot



Anmeldungsdatum: 05.09.2013
Beiträge: 4
Wohnort: Deutschland

BeitragVerfasst am: 16.09.2013, 09:11    Titel: Antworten mit Zitat

Sooooo,

der erste Tipp war goldrichtig. Wir haben eine QBE.bat auf dem Rechner liegen, welche eine Bibliothek einbindet. Vielen dank für die schnelle Hilfe, bis ich da drauf gekommen wäre, wären sicher noch ein paar Tage ins Land gegangen grinsen

@ Micha

Nein, es geht um Resonanz bei Magnetfeldern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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