AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ShellExecute: Programm startet und schmiert ab
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute: Programm startet und schmiert ab

Ein Thema von Nils_13 · begonnen am 26. Jun 2008 · letzter Beitrag vom 27. Jun 2008
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 18:08
Hi,

ich möchte mit folgendem Code ein anderes Programm starten. Dieses schmiert jedoch sofort ab. Habt ihr eine Idee warum ? In manchen Projekten funktioniert der Code, in diesem und dem Standardprojekt von Delphi7 allerdings nicht.
ShellExecute(0, 'open', PChar(s), '', nil, SW_SHOWNORMAL);
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 18:16
Hi,

das gestartete Programm schmiert ab?

Welchen Rückgabewert hat ShellExecute? Bringt das andere Programm eine Fehlermeldung?
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 18:27
Es gibt keine Fehlermeldung von ShellExecute (Rückgabewert 42). Bei bestimmten Programmen gibt es eine Fehlermeldung, bei anderen wiederum nicht.

Edit: Bei meinen eigenen Programmen tritt der Fehler teilweise auf. Ich sehe allerdings keinen Grund dafür. Es werden zumindest Meldungen ausgegeben, die zeigen, dass es am ShellExecute liegen muss.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 18:42
Mal den Rechner neu gestartet? Ich kann an der einen Zeile Source nichts Fehlerträchtiges entdecken.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#5

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 19:00
Vielleicht hat das Programm ein Problem damit, dass du den aktuellen Ordner für die Instanz nicht setzt (nil-Parameter). Wenn ich ShellExecute aufrufe, mach ich es eigentlich immer gleich:

Delphi-Quellcode:
function ExecuteFile(aFileName, aParameters: string; aDirectory: string = ''; aExecMode: string = 'open'): integer;
var Folder: string;
begin
  Folder := aDirectory;
  if Folder = 'then
     Folder := ExtractFileDir(aFileName);
  result := ShellExecute(0, PChar(aExecMode), PChar(aFileName), PChar(aParameters), PChar(Folder), SW_SHOW);
end;

procedure TForm1.Button1Click(Sender: TObject)
var ExecResult : integer;
begin
  ExecResult := ExecuteFile(Edit1.Text, '');
  if ExecResult < 32 then
     // Fehlerbehandlung
end;
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 19:06
ob nil oder ein Leerstring spielt keine Rolle. Vielmehr könnte es daran liege das einige Programmierer mit relativen Pfadangaben arbeiten und somit bei falschem Arbeitsverzeichnis (also Arbeitsverzeichnis <> Exe-Programmverzeichnis) bestimmte Dateien nicht gefunden werden.

Warum schenierst du dich eigentlich uns die genaue Fehlermeldung mitzuteilen? Willst du nicht das wir dir bei der Problemlösung helfen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: ShellExecute: Programm startet und schmiert ab

  Alt 26. Jun 2008, 19:47
Danke littleDave, der Code ist nicht nur schön, sondern funktioniert auch. Dass es irgendetwas mit den Parametern zu tun hat, dachte ich mir bereits, aber daran nicht.
SirThornberry, ich habe oben gesagt, es gäbe keine direkte Fehlermeldung, es unterscheide sich von Programm zu Programm. Der Code war 42, was umgewandelt mit SysErrorMessage einen Leerstring ergibt.
Dann danke an den Rest für die Hilfsversuche!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: ShellExecute: Programm startet und schmiert ab

  Alt 27. Jun 2008, 09:29
Zitat von Nils_13:
Bei bestimmten Programmen gibt es eine Fehlermeldung,
Und warum verschweigst du uns die?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#9

Re: ShellExecute: Programm startet und schmiert ab

  Alt 27. Jun 2008, 09:50
Wen juckt bitteschön eine Fehlermeldung aus einem meiner eigenen Programme, wenn ich nicht mal selbst weiß, was diese zu bedeuten haben ? geht zurück dafür, dass du dieses Thema ausgegraben hast und dadurch ein ungelöstes weiter abgerutscht ist.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: ShellExecute: Programm startet und schmiert ab

  Alt 27. Jun 2008, 13:26
Zitat von Nils_13:
Wen juckt bitteschön eine Fehlermeldung aus einem meiner eigenen Programme, wenn ich nicht mal selbst weiß, was diese zu bedeuten haben ?
Weil vielleicht wir es wissen könnten? Wenn sich das gestartet Programm zum Beispiel beschwert, dass es seine Dateien nicht findet, könnte das ein Hinweis sein, dass das Arbeitsverzeichnis nicht stimmt.

Zitat:
geht zurück dafür, dass du dieses Thema ausgegraben hast und dadurch ein ungelöstes weiter abgerutscht ist.
Wieso ausgegraben? Des war ein aktueller Thread.
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 13:05 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