Archiv verlassen und diese Seite im Standarddesign anzeigen : .BAT-Dateien aus einem Pascal-Programm starten
Hi @ all
schon wieder brauch ich Hilfe, würde gerne wissen wie ich eiene .bat datei aus einem Pascal-Programm heraus straten kann.
Thnx im Voraus
Diego_S
Diogenes
01.02.2002, 13:27
Hab´ ich nicht auswendig im Kopf. Es müßte mit Exec gehen (bitte in der Online-Hilfe oder besser, im Referenz-Handbuch nachschlagen).
Ich werd´ mich rühren, sobald ich was weiß :)
Felix Kaiser
01.02.2002, 13:41
SwapVectors;
Exec(GetEnv(´COMSPEC´),´/C´+´BEISPIEL.BAT´);
SwapVectors;
Benötigt Routinen aus der Unit DOS, ruft BEISPIEL.BAT auf.
Diogenes
01.02.2002, 14:35
@Guru
Danke für´s schnelle Nachsehen. Ich hoffe, mein Tip hat geholfen! :D ;)
Felix Kaiser
01.02.2002, 15:13
Nachsehen? Hab das Teil hier im Moment garnich installiert ... oder meinste im "Kopf" nachsehen? ;)
Diogenes
01.02.2002, 15:19
Bravo, bravissimo!
Sieht aber aus, als hättest Du´s aus einem Buch abgeschrieben. Nicht, daß das falsch oder unfair ist: Bücher sind schließlich dazu da, um darin etwas nachlesen zu können.
GetEnv( ´COMSPEC´) ergibt übrigens bei jedem MS-DOS ´COMMAND.COM´.
Felix Kaiser
01.02.2002, 17:01
COMSPEC ist eine DOS Umgebungsvariable, welche bei MS-DOS, Windows 95/98/ME auf COMMAND.COM zeigt, jedoch enthält diese Variable auch die komplette Pfadangabe zum Befehlsinterpreter des Betriebssystems. Bei Windows 2000 würde z.B. COMSPEC auf C:\WINNT\SYSTEM32\CMD.EXE zeigen.
Übrigens findest du den Code, den ich aus meinem Gedächtnis gekramert hatte genau so in der Turbo Pascal Hilfe. SwapVectors dient dazu die Turbo Pascal eigenen Interrupthandler aus der Unit System gegen die vor dem Programmaufruf existenden Handler, kann aus Kompatiblitätsgründen manchmal wichtig sein, insbesondere beim Handling von Laufzeitfehlern die durch das aufgerufene Programm ausgelöst werden.
@ Guru + Diogenes
danke für die schnelle Hilfe
Diego_S
Diogenes
03.02.2002, 14:00
Thema ´COMSPEC´:
Ich hab´ nur gemeint, daß bei MS-DOS COMSPEC so gut wie immer ´COMMAND.COM´ enthält. Was bei anderen OS drinsteht, weiß ich nicht, und es wundert mich nicht, daß es bei Win95 und später was anderes steht.
Thema "woher Besipiel"
Ich programmiere kaum mehr unter DOS, weswegen ich die dortige Online-Hilfe kaum ansehe.
So. jetzt mach ich das Thema zu, weil Frage gestellt und positiv beantwortet. Fertig.
Diogenes
12.06.2002, 11:56
Beim Compilieren auf die RealMode-Plattform muß man den Heap mit dem Compiler-Befehl
{$M StackSize, HeapMin, HeapMax} {Größen in Bytes}
eingrenzen, weil dem auszuführenden Programm sonst kein Platz bleibt, es nicht geladen und daher auch nicht ausgeführt wird!
Wenn das aufrufende Programm keinen Heap benötigt, konnen HeapMin und HeapMax natürlich 0 sein. StackSize ist normalerweise 16 kB
freak182
12.06.2002, 13:06
und ich wunderte mich erst woher das thema plötzlich kommt,hab dann aber doch aufs datum geguckt... :D
das kann es sehr gut gewesen sein. hab nämlich keinen platz für die batch frei gemacht.
ich probiere das gleich mal.
danke für deine mühe @ Diogenes! :)
timoK.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.