AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit starten von Dateien.
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit starten von Dateien.

Ein Thema von fwsp · begonnen am 20. Mär 2006 · letzter Beitrag vom 20. Mär 2006
Antwort Antwort
fwsp
(Gast)

n/a Beiträge
 
#1

Problem mit starten von Dateien.

  Alt 20. Mär 2006, 15:48
hallo

ich habe nen launcher gebastelt aus dem programme aufgerufen werden, aus einem der aufgerufenen programme kann ne hilfe (.chm) gestartet werden. wenn ich den launcher umgehe und direkt das programm starte, kann ich wunderbar die hilfe aufrufen, mit dem launcher klappt das nicht.
kann mir jemand helfen?

hier ein bisschen code:

der aufruf des programms:
Delphi-Quellcode:
  1:
  begin
    ShellExecuteAndWait(0, 'open', PChar(Programm), nil, nil, sw_shownormal,
      True);
  end;
der aufruf der hilfe:
Delphi-Quellcode:
  begin
    ShellExecute(0, 'open', PChar('Help\musiksuite.chm'),
      Nil, Nil, sw_shownormal);
  end;
ps. hab schon versucht mit createprocess zu arbeiten, aber das ist ja auch nur für dateien gedacht.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:01
Delphi-Quellcode:
ShellExecute(0, 'open', PChar('.\Help\musiksuite.chm'),
      Nil, Nil, sw_shownormal);
versuche es einmal mit .\ vor dem Help.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#3

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:06
funktioniert nicht.
welche bewandnis hat es mit '.\'?
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:11
das sagt dem Shellexecute das es die Datei in einem Unterverzeichnis des aktuellen Verzeichnisses suchen soll.

Bist Du Dir sicher das ShellExecute auch die Datei findet?
Bekommst Du eine Fehlermeldung?

Wenn die Hilfe in dem Unterverzeichnis Help von Deiner Anwendung steht
könntest Du auch mit
extractFilePath(application.ExeName) sicherstellen, dass im richtigen Verzeichnis gesucht wird.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#5

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:11
Wie ist das aktive Verzeichnis?

Bei relativen Pfaden muß man halt aufpassen, von wo man diese aufruft.

Und sind vielleicht Leerzeichen im Dateinamen drin?
Wenn ja, dann muß der Name in " eingeschlossen werden

ShellExecute(0, 'open', PChar('"Help\musiksuite.chm"'), Nil, Nil, sw_shownormal);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#6

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:15
mit dem absoluten pfad (Application.ExeName) klappt es danke.
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 16:19
Nimm mal folgendes:
Delphi-Quellcode:
  begin
    ShellExecute(0, 'open', PChar(ExtractFilePath(ParamStr(0)) + 'Help\musiksuite.chm'),
      Nil, Nil, sw_shownormal);
  end;
Denn somit hast du den korrekten arbeitspfad. Da andere wird immer dann nicht funktionieren, wenn der aktuelle Arbeitspfad von Win nicht dem Anwendungsverzeichnis entspricht.

EDIT: Hm ich glaub der rote Kasten hat Urlaub
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#8

Re: Problem mit starten von Dateien.

  Alt 20. Mär 2006, 19:29
Zitat von Hador:
Nimm mal folgendes:
Delphi-Quellcode:
  begin
    ShellExecute(0, 'open', PChar(ExtractFilePath(ParamStr(0)) + 'Help\musiksuite.chm'),
      Nil, Nil, sw_shownormal);
  end;
Spaßig wird es mit diesem Code aber, wenn mal eine Laufwerksangabe ("L:\Pfad...") im Dateinamen (wo jetzt also 'Help\musiksuite.chm' steht) vorhanden ist, oder der relative Pfad auf das Rootverzeichnis ("\Pfad...") des aktiellen Laufwerks zeigt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 14:35 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