Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DirtyHarry
Anmeldungsdatum: 21.11.2004 Beiträge: 23 Wohnort: Brachttal ca 40km von Hanau
|
Verfasst am: 21.11.2004, 03:20 Titel: Probleme mit Bibliothek in QB4.5 |
|
|
Hallo,
habe qb mit dem Parameter /L gestartet, trotzdem bringt es mir bei folgendem immer die Meldung
Unterprogramm nicht definiert
Code: |
'Toolname: ERRORLEVEL (c)'98 by TT Soft
'Aufgabe: Anweisung zum Beenden eines Programmes und der
'Rueckgabe eines Parameters (ERRORLEVEL) an das rufende
'Programm (bzw. DOS).
'Hinweise: In der Variable ERRORLEVEL wird die Zahl die
'zurueckgegeben werden soll eingetragen.
'ACHTUNG: Diese Zahl wird nicht geprueft! Sollte Sie groesser als
'255 sein koennte das zu unkontrollierten Reaktionen bzw. einem
'Absturz fuehren.
'Benutzt DOS API (21h); Funktion 4Ch.
'Variablen: ERRORLEVEL; REG.XX
'$INCLUDE: 'QB.BI'
ERRORLEVEL = 5: '-------------------> Hier Zahl eintragen
REG.AX = 19456 + ERRORLEVEL: '---> 19456 = 4C00h
CALL INTERRUPT(33, REG, REG): '---> 33 = 21h
|
In der Verknuepfung von Windows ist das Verzeichnis, in der die Dateien von QB4.5 (inklusive QB.QLB) sind als Arbeitverzeichnis eingetragen. Die BAS befindet sich auch dort.
:fragezeichen:
Vielen Dank für eure Mühe schon im voraus. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 21.11.2004, 13:02 Titel: Hm... |
|
|
Hallo.
Lad dir mal von QBasic.de QB 4.5 neu runter (Downloadlink) und entpack es in einen Ordner wie C:\QBASIC45\ und lösch sämtliche PIF Dateien darin.
Dann erstellst du eine Batchdatei (Textdatei mit Endung .BAT) in das Verzeichnis und schreibst da rein:
Code: | @echo off
QB.EXE /L |
Dann tust du die BAS-Datei auch in dieses Verzeichnis.
Anschließend startest du QB über diese Batchdatei.
Versuch das mal.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
DirtyHarry
Anmeldungsdatum: 21.11.2004 Beiträge: 23 Wohnort: Brachttal ca 40km von Hanau
|
Verfasst am: 23.11.2004, 00:46 Titel: hat schon mal geholfen, aber |
|
|
jetzt zeigt er mir: Unverträgliche Parametertypen
CALL INTERRUPT(33, REG, REG): '----------> 33 = 21h
Mein großes Problem ist, bei den 2 mehr oder weniger kleinen Programmen, die ich bisher selbst gemacht habe, blicke ich durch. Aber alles andere ist immer noch irgendwie ein Buch mit 7 Siegeln.
PS: Sorry, das ich mich erst heute wieder gemeldet habe. _________________ Gruß Andreas
---------
Aller Anfang ist schwer.
Meine Probleme(Ideen) möchte ich keinem anderen zumuten.
Kostenlose Operalizens bei mehr als 250 Klicks:
http://www.opera-for-dryhar.de.vu |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2509 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 23.11.2004, 10:22 Titel: Re: hat schon mal geholfen, aber |
|
|
DirtyHarry hat Folgendes geschrieben: | jetzt zeigt er mir: Unverträgliche Parametertypen
CALL INTERRUPT(33, REG, REG): '----------> 33 = 21h |
REG ist in Deinem Fall eine Record-Variable, die Du mit
noch dimensionieren musst. Oh ja, und auch noch ein Tipp: Hexadezimalkonstanten lassen sich mit "&H" schreiben. Somit musst Du nichts mühsam umrechnen. Schreib also Deinen Code als
Code: | ' $INCLUDE: 'qb.bi'
DIM Reg AS RegType
errorlevel% = 2
' DOS 2+ - EXIT - TERMINATE WITH RETURN CODE gemäss
' http://www.ctyme.com/intr/rb-2974.htm
Reg.ax = &H4C00 + errorlevel%
CALL INTERRUPT(&H21, Reg, Reg) |
So ist er nämlich viel leserlicher, weil bekanntlich in jeder Dokumentation von DOS-Interrupts die Funktionsnummern immer hexadezimal erscheinen. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
DirtyHarry
Anmeldungsdatum: 21.11.2004 Beiträge: 23 Wohnort: Brachttal ca 40km von Hanau
|
Verfasst am: 25.11.2004, 21:33 Titel: Jetzt hat alles funktioniert. |
|
|
Noch mal danke an euch beide für die Hilfe und für die Geduld bei meinen langen Antwortzeiten. _________________ Gruß Andreas
---------
Aller Anfang ist schwer.
Meine Probleme(Ideen) möchte ich keinem anderen zumuten.
Kostenlose Operalizens bei mehr als 250 Klicks:
http://www.opera-for-dryhar.de.vu |
|
Nach oben |
|
|
|