AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Shellexecute - fehler beim Auslesen der ini?
Thema durchsuchen
Ansicht
Themen-Optionen

Shellexecute - fehler beim Auslesen der ini?

Ein Thema von GimbaR · begonnen am 24. Aug 2004 · letzter Beitrag vom 25. Aug 2004
Antwort Antwort
Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#1

Shellexecute - fehler beim Auslesen der ini?

  Alt 24. Aug 2004, 15:06
Hi, hab mal wieder ne fräge, leider brachte weder die suche auf der DP noch die suche bei google was derartiges...
Ich hab in meinem Programm eine procedure -ein OnClick-ereigniss für ein PopupMenu (PopupMenu1)-, die den pfad der exe datei ausliest und sie dann startet. Der name des Wertes -in der Sektion "Games"- heißt genauso wie die Caption des angeklickten Items von PopupMenu1. Die variable "gamename" ist eine globale Variable (unter implementation). Das PopupMenu öffnet sich, wenn man auf das icon in der tna mit rechter masutaste raufklickt... Ich hoffe ich konnte mir deutlich ausdrücken, najo, seht selbst:
Delphi-Quellcode:
procedure TForm1.PopupItemClick(Sender: TObject);
var
  gamepath: String;
begin
  gamename:=(Sender as TMenuItem).Caption;
  ini:=TInifile.Create(ExePath+'\config.ini');
  try
    gamepath:=ini.ReadString('Games', gamename, '');
  finally
    ini.free;
  end;
  ShowMessage(gamename+' | '+gamepath);
  ShellExecute(Application.Handle, 'open' ,PChar(gamepath), nil, nil, sw_ShowNormal);
end;
Hab das Projekt mal nen beitrag weiter unten hochgeladen...
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Shellexecute - fehler beim Auslesen der ini?

  Alt 24. Aug 2004, 15:22
Was liefert er denn als "GamePath" ?
Hast du es mal mit ExtractFilePath(Paramstr(0)) anstatt mit "ExePath" probiert?

Ich würde mir das Projekt ja runterladen, allerdigs habe ich hier auf'm Schlepptop kein WinRar installiert, könntest du es vielleicht noch mal zippen?
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Shellexecute - fehler beim Auslesen der ini?

  Alt 24. Aug 2004, 15:33
gamepath is die variable, die das hier ausliest, so in das popupMenu1 werden auch nur diese einträge eingefügt, es soll dann zB COD aus der Sektion "games" gelesen wird, wenn man auf COD drückt:
[Games]
NFSU=D:\Need For Speed Underground\Speed.exe
UT2004=D:\UT2004\System\UT2004.exe
Warcraft3 - TFT=D:\Warcraft III\Frozen Throne.exe
COD=D:\Call of Duty\CODMP.exe
Angehängte Dateien
Dateityp: zip gb_158.zip (286,7 KB, 5x aufgerufen)
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#4

Re: Shellexecute - fehler beim Auslesen der ini?

  Alt 24. Aug 2004, 16:23
Hm...wo genau liegt denn Dein Problem?

Liefert die das ReadString kein Ergebnis aus der INI-Datei? Oder schlägt das ShellExecute fehl?

Hast du das Programm schon debuggt, und geschaut, dass alle Variablen den richtigen Wert enthalten? Speziell das Konstrukt ExePath+'\config.ini'? Nicht dass die Ini-Datei nicht gefunden wird, oder sowas.

Und in Gamename steht ebenfalls der richtige Wert? ohne jegliche Steuerzeichen, etc?

Gruß
Christian
Christian Rüsken
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#5

Re: Shellexecute - fehler beim Auslesen der ini?

  Alt 24. Aug 2004, 16:43
Die Messagebox zeigt gamename z.B. so an:
NFSU
Das heisst, in den Namen hat sich ein & eingeschlichen, der im Popupmenü ein Tastaturkürzel erlauben soll. Das & musst du dann also wieder aus dem Namen rsausfiltern, z.b. mit
gamename := StringReplace(gamename, '&', '', [rfReplaceAll]); Dann klappts auch mit dem INI-auslesen.
  Mit Zitat antworten Zitat
Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Shellexecute - fehler beim Auslesen der ini?

  Alt 25. Aug 2004, 12:46
Zitat von scp:
Die Messagebox zeigt gamename z.B. so an:
NFSU
Das heisst, in den Namen hat sich ein & eingeschlichen, der im Popupmenü ein Tastaturkürzel erlauben soll. Das & musst du dann also wieder aus dem Namen rsausfiltern, z.b. mit
gamename := StringReplace(gamename, '&', '', [rfReplaceAll]); Dann klappts auch mit dem INI-auslesen.
Hat wunderbar geklappt, big THX!!!
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  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 04:44 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