AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Verzeichnis in dem die exe ist rausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichnis in dem die exe ist rausfinden

Ein Thema von Pseudemys Nelsoni · begonnen am 28. Sep 2004 · letzter Beitrag vom 29. Sep 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:29
hoi,

in meinem programm befindet sich eine klasse, wie kann ich aus dieser klasse heraus rausfinden wo sich die exe befindet? dort habe ich ja keine instanz von TApplication?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:34
Hi,
wenn du die Unit Forms einbindest schon.
Ansonsten kan dir Delphi-Referenz durchsuchenParamStr(0) treue Dienste leisten.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:34
Das würde ich der Klasse dann aus dem Hauptprogramm mitgeben - vorzugsweise beim Create, oder nachher durch ne hübsche Zuweisung an ne Property .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:37
Zitat von Chakotay1308:
Hi,
wenn du die Unit Forms einbindest schon.
Ansonsten kan dir Delphi-Referenz durchsuchenParamStr(0) treue Dienste leisten.

Chris
Aber die Instanz seiner Application hat er dann immer noch nicht, sondern nur die Deklaration von TApplication.
Und ParamStr ist imho eine Variable einer TApplication-Instanz.

Entweder deine Klasse hat eine Property vom Typ TApplication der du deine eigentlich "Application"-Variable zuweist, oder du holst dir den Pfad aus'm Hauptprogramm raus, und schreibst dass in eine String-Property deiner Klasse.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:50
Hi,
Zitat von dizzy:
Aber die Instanz seiner Application hat er dann immer noch nicht, sondern nur die Deklaration von TApplication.
Nein, normalerweise steht da auch die Variable Application drin. Einen Thread zur Frage, wo die drin ist, hatten wir ja auch letztens erst.

Zitat von dizzy:
Und ParamStr ist imho eine Variable einer TApplication-Instanz.
Leider auch falsch. ParamStr ist eine eigene Funktion aus der ... *denk* Ich glaube ... SysUtils oder Windows.

Chris
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#6

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 17:53
Da wäre zum einen
Application.ExeName; und zum anderen
ParamStr ( 0 ); Mit
ExtractFileDir ( Filename ); bekommst du dann den Pfad raus.

Edit: Du müsstest auch in der Klasse deine Application haben
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 28. Sep 2004, 18:05
danke leute

nein mein prog ist nicht in meiner klasse, meiner klasse ist nur in meinem programm.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 29. Sep 2004, 18:29
Hollo zusammen,
ich finde alle bisherigen Antworten nicht so ganz passend. Wenn z.B. in einer DLL nach dem aktuellen Programm gesucht werden soll, ist das nicht so einfach. Die beste Lösung erscheint mir bisher immer noch ParamStr. Es geht aber auch mit
Delphi-Quellcode:
var
  ActualBufferLength: Cardinal;
  FilenameBuffer: array[0..260] of Char;
begin
  ...
  ActualBufferLength := GetModuleFileName(0, FilenameBuffer, SizeOf(FilenameBuffer));
  if ActualBufferLength > 0 then
  begin
    SetLength(aString, ActualBufferLength);
    aString := Copy(FilenameBuffer, 1, ActualBufferLength);
  end;
  ...
Das geht garantiert auch in einer DLL oder wo auch immer.

Grüße
Kay Golze
Wo Gold ist, muß es auch glänzen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Verzeichnis in dem die exe ist rausfinden

  Alt 29. Sep 2004, 19:24
Das mit der DLL ist ja nun ein ganz anderer Fall. Es geht ja nur darum, dass er die Klasse TApplication nicht in seiner Klasse zur Verfügung hat.

ParamStr ist übrigens in der Unit System.pas drinne.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 05:00 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