| 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, 02: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, 12: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: 22.11.2004, 23: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: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		
			
				 Verfasst am: 23.11.2004, 09: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, 20: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 | 
		 | 
	
	
		  | 
	
	
		 |