AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kleine Asm-IDE -> will nicht linken
Thema durchsuchen
Ansicht
Themen-Optionen

Kleine Asm-IDE -> will nicht linken

Ein Thema von SebE · begonnen am 11. Aug 2005 · letzter Beitrag vom 11. Aug 2005
Antwort Antwort
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#1

Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:22
Hi, ich will mir eine KLEINE Assembler-IDE basteln.
Also wie ein kleiner Editor aufgebaut.
Ich verwende den MS-Assembler (MASM)

PROBLEM:
Ich habe einen Button zum Assemblieren:

Delphi-Quellcode:
procedure TfmMain.AssemblierenClick(Sender: TObject);
begin
ShellExecute(Handle, nil, PChar(AppFilePath + ASM_FILE_NAME), PChar(TSynTabSheet(PageControl.ActivePage).FileName), nil, sw_ShowNormal);
end;
AppFilePath => Application.ExeName
ASM_FILE_NAME => Pfad des Assemblers

Der LINKER liegt im gleichen Verzeichnis, wie der Assembler.

jetzt kommt beim Assemblieren immer die Meldung: LINK.EXE konnte nicht gefunden werden.

Der Assembler sucht den Linker immer in dem Verzeichnis, wo man sich gereade befindet, dh. ich müsste, wie bei "cd <Pfad>" im cmd.exe, bevor ich den Assembler aufrufe in das Verzeichnis wechseln.

Wie mache ich das??
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:43
Hast dir mal den String ausgeben lassen?
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#3

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:47
Welchen String?
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:53
Zitat von SebE:
Welchen String?
Den String:
Code:
[color=#0000ff]AppFilePath + ASM_FILE_NAME[/color]
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#5

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:55
Ja, das ist der Pfad vom Assembler mit Namen -> den rufe ich ja auf (das funktioniert auch)
Der Assembler ruft dann den Linker auf -> FEHLER, da er ihn im falschen Verzeichnis sucht

hab mir mal "GetDir(0,s)" ausgeben lassen -> Verzeichnis, indem der ASM-Code gespeichert ist.

Ich brauch eigentlich nur einen Befehl, wie ich das Verzeichnis wechseln kann.
Wie "cd" in cmd.exe
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:56
Das Problem wird sein, dass ShellExecute nicht das aktuelle Verzeichnis wechselt. Mach' den Aufruf mal so:
Delphi-Quellcode:
olddir := GetCurrentDir;
try
  SetCurrentDir(AppFilePath);
  // .. dein Code
finally
  SetCurrentDir(olddir);
end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#7

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 09:59
SetCurrentDir(AppFilePath); Das hab ich gesuch -> funzt einwandfrei

DANKE, er assembliert wunderbarfein
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Kleine Asm-IDE -> will nicht linken

  Alt 11. Aug 2005, 10:12
Sonst hätte es:
ShellExecute(Handle, nil, PChar(AppFilePath + ASM_FILE_NAME), PChar(TSynTabSheet(PageControl.ActivePage).FileName), PChar(AppFilePath), sw_ShowNormal); Sicherlich auch getan... da ShellExecute einen Parameter für das Verzeichnis bereitstell in dem es Ausgeführt werden soll...

Greetz
Boombuler

Edit: PChar vergessen *rotwerd*
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz