Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Startadresse eines Programms (https://www.delphipraxis.net/8991-startadresse-eines-programms.html)

Dannyboy 16. Sep 2003 13:48


Startadresse eines Programms
 
Wie komme ich den von einem existierendem File auf dessen Startaresse?

Man soll in einen OpenDialog eine beliebige Datei auswählen und dann
die physische Start - und Endadresse angezeigt bekommen.

Ich dachte mir vielleicht ...

Code:
Var f : File
    P : Pointer;
begin
  AssignFile(F,'test.txt');
  New(P);
  P:= @F;
  ...
end;
...

aber das ist bisher nur so eine Idee. Ist ein Filehandle eigentlich die
dezimale Darstellung der physischen Adresse oder ein anderer Wert?

Alexander 16. Sep 2003 15:25

Re: Startadresse eines Programms
 
Was genau sollen denn die Start- und Endadressen an.
Mit OpenDialog1.Filename bekommst du ja den Dateinamen und -Pfad.Dann kannst du z.B. mit Copy die betreffenen teile rauskopieren. Sonst kannst du dir auch noch mal die ExtractFile...-Funktionen ankucken.

Leider weiß ich nämlcih nicht so recht, was du meinst ;-)
Kannst du vielleicht ein beispiel geben?

Dannyboy 17. Sep 2003 09:31

Re: Startadresse eines Programms
 
Ich benötige die physische Startadresse eines Dokuments, es geht nicht
um den Inhalt. Ich habe mal ein Assemblertool gesehen, mit dem man
eine Datei wählen konnte und dann in einem Fenster die Start - und
Endadresse gesehen hat.

Das sah dann ungefähr so aus:

DateiName: Test01.Doc
StartAdresse: AA3C
Endadresse: AB4F



ist nur ein ausgedachtes Beispiel, aber so sah das im Prinzip aus.
Kann mir niemand weiter helfen? :(

Luckie 17. Sep 2003 09:46

Re: Startadresse eines Programms
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also die Staradresse des Programmcodes der Anwendung im eigenen Adressraum ist unter Windows9x immer $00400000 unter Windows2000 immer $00010000. Oder was meinst du jetzt?

jbg 17. Sep 2003 10:34

Re: Startadresse eines Programms
 
Er meinst wohl eher den Sektor/Cluster des Datenträgers an dem der Dateianfang liegt.

Dannyboy 17. Sep 2003 11:17

Re: Startadresse eines Programms
 
Zitat:

Also die Staradresse des Programmcodes der Anwendung im eigenen Adressraum ist unter Windows9x immer $00400000 unter Windows2000 immer $00010000. Oder was meinst du jetzt?
Wäre das nicht im Grunde genommen das Datensegment ???


Ok, ein anderes Beispiel:

Wenn ich Programm XYZ von A nach B kopieren möchte, dann muss ich doch
dessen Daten von der Festplatte lesen, ergo brauche ich doch die
physische Startadresse des Programms XYZ (von Ort A), damit ich weiss,
woher ich Daten in einen Buffer schieben kann. Und genau diese Adresse,
bei der das Programm XYZ auf der Festplatte liegt, brauche ich in Hex.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23: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