... please wait while loading ...

To view the complete site without permanently having to scroll, your browser-window should be maximized to support your screen-resolution of .
Hans-Jörg Gerd Henker
cluster
  1.432.697 Nedstat Basic - Kostenlose web site statistiken Persönliche Homepage webseite Zähler
Kostenlose Zähler
In memoriam C-BIT Information-Center Hannover (2.241/1075+2.241/1076 - no longer active)
Suchmaschinen-Optimierung DDpa.net  - Pagerank Anzeige ohne Toolbar Free webspace Blog Linktausch Rank http://www.suchmaschinen-ranking-hits.de: Mini-Buttons mit dem GooglePageRank Ihrer Website für Ihre Website!
Sicherheitshinweis: Wir weisen vorsorglich darauf hin, dass wir bei der Anmeldung saemtliche automatisch uebermittelten Parameter wie IP-Adresse und/oder Einwahlrufnummer speichern, um uns und unsere Kunden vor Missbrauch zu schuetzen. Selbstverstaendlich werden wir bei Bedarf umgehend strafrechtliche Massnahmen ergreifen, um einen vorliegenden Missbrauch zu ahnden.

"Systemfehler mit implizitem unbeabsichtigtem AUFRUF B = 2: B; C-D = E"

ACHTUNG: Der folgende Knowledge Base Artikel wurde durch ein maschinelles Übersetzungssystem ohne jegliche menschliche Mitwirkung übersetzt. Microsoft stellt diese Artikel deutschsprachigen Benutzern, die der englischen Sprache nicht mächtig sind, als Hilfe zur Verfügung, damit diese den Inhalt dieser Artikel verstehen können. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Artikel-ID:20538
Geändert am:Dienstag, 21. November 2006
Version:1.3

Zusammenfassung

Diese Information gilt Versionen 2.00, 2.10 und 3.00 für Microsoft QuickBASIC Versions 1.00 1.00a, 1.00b Microsoft BASIC Compiler Version 1.00 und Microsoft-Basisinterpreter für das Apple Macintosh.

Die folgende "gültige" Basisanweisung kann ein System Error verursachen:
  B=2 : B    ' This is the same as B=2 : CALL B
				
Da B nicht als ein Systemsteuerungs-teilprogramm definiert worden ist, setzt BASIC voraus, dass Sie die machine-language Routine an der Adresse (2) aufrufen, die in B enthalten wird. Normalerweise werden Sie ein System Error abrufen und Sie müssen neu starten, weil Sie eine machine-language richtige Routine noch an dieser Adresse nicht gelegt haben. Das ist "beispielsweise implizites CALL eine spezielle CALL-Syntax die eine explizite Call-Anweisung nicht benötigt". Weitere Informationen über implizite Anrufe finden Sie in der CALL-Anweisungsdokumentation.

Weitere Informationen

Ein weiteres Beispiel ein impliziter ANRUF, der das System hängt, befindet sich:
   C - D = E
				
Sie können eine Anweisung oben von wie versehentlich eingeben aber diese perfekt rechtliche Syntax teilt als einen relationalen Operator statt des Zuweisungsoperators BASIC mit, ein Gleichheitszeichen (=) zu verwenden. Der obige Ausdruck D = E gibt dann einen Wert True (-1) zurück, wenn C, D und E gleich Null (von Standard) sind. C minus -1 entspricht +1. Der Wert des Ausdrucks C-D = daher ist E +1. Das einzeilige Programm C-D Bestehen einen implizite ANRUF an der Codecomputerroutine an der Adresse +1 Testament E daher =, das eine gültige Routine nicht ist; ruft einem System Error an diesem Punkt, den Computerhang oder Ihnen ab. ( "Relationalen Operatoren in dem Index" schlagen Sie bitte für weitere Information nach der " Microsoft BASIC Compiler-Version 6.00 für MS OS/2 und MS-DOS: GRUNDLEGENDE Sprachenreferenz. " )

Versehentlich das Ausführen eines impliziten unbeabsichtigten Aufrufs bei dem Debuggen in dem Befehlsfenster des Interpreter ist einfach. Wenn Sie einen Variablenname in dem Befehlsfenster einfach eingeben und wenn die Return-Taste drücken, werden Sie wahrscheinlich hängen, da das sich um ein syntaktisch rechtliches implizites CALL handelt und die Zahl, die in der Variablen gespeichert wird, keine gültige Adresse fast sicherlich von ausführbarem Maschinencode ist.

Dieser Prozess kann ebenfalls bei dem Verschieben des Codecomputerarray zwischen dem Mal, zwischen dem Sie seine Adresse übernehmen und den AUFRUF durchführen, auftreten. Aus diesem Grund warnen das 2.x "Microsoft BASIC Interpreter for Apple Macintosh" Version und 3.00-Handbuch Sie, die Adresse SOFORT vor dem Aufruf wie dem folgenden Programmfragment immer überzunehmen:
code# = VARPTR( MyCode%(0) ) 'get address of my machine code array
code# arg1%,arg2%   'call my routine

Die Informationen in diesem Artikel beziehen sich auf:
 Microsoft QuickBasic 1.0
 Microsoft QuickBASIC 1.0b
 Microsoft QuickBASIC 1.0b
 Microsoft BASIC Interpreter 2.0
 Microsoft BASIC Interpreter 2.1 for Macintosh
 Microsoft BASIC Interpreter 3.0 for Macintosh
 Microsoft BASIC Compiler 6.0b

Zum Anfang

Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.


This mirror is sponsored by:
Hansjoerg G. Henker
A-Z Consulting & Development
[343]

Information-Center [29.08.2008 22:33:46]