Entwickler-Ecke

Dateizugriff - ShellExecute öffnet nicht


blackbirdXXX - Sa 17.05.03 07:39
Titel: ShellExecute öffnet nicht
Ich habe einen HTML Editor programmiert und möchte Menüknopf anlegen der den Internet Explorer mit meinem Dokument öffnet.

Ich habe es so:

Delphi-Quelltext
1:
ShellExecute(0'open', pchar('iexplore ') + pchar(ffilename),nilnil, SW_SHOWNORMAL);                    


und so:

Delphi-Quelltext
1:
ShellExecute(0'open''iexplore ' + pchar(ffilename),nilnil, SW_SHOWNORMAL);                    


probiert. Beide führen zu keinem Ergebnis. der Compilierer zeigt mir an das String und PChar nicht kompatibel ist und Operator in dieser Umwandlung nicht möglich.

Vielleicht kann mir einer helfen.

Der ganze Text:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Preview1Click(Sender: TObject);
begin
  if FFileName = 'Unbenannt' then
  begin
   Speichernunter1.Click;
   ShellExecute(0'open', pchar('iexplore ') + pchar(ffilename),nilnil, SW_SHOWNORMAL);
  end
  else
  begin
    Editor.Lines.SaveToFile(FFileName);
    Editor.Modified := False;
    SetModified(False);
    tempstr := 'iexplore.exe ' + FFileName;
    ShellExecute(0'open', tempstr,nilnil, SW_SHOWNORMAL);
  end;
end;


toms - Sa 17.05.03 07:44


Quelltext
1:
ShellExecute(0, 'open', PChar('iexplore ' + ffilename),nil, nil, SW_SHOWNORMAL);                    


blackbirdXXX - Sa 17.05.03 07:52

Danke. Das funzt


matze - Sa 17.05.03 12:05

kleiner tip: du kannst statt dem iexplore auch einfach nur die URL als Programmpfad angeben. dann wird die URL automatisch im Standardbrowser geöffnet !


rancor187 - Di 01.07.03 23:47

matze hat folgendes geschrieben:
kleiner tip: du kannst statt dem iexplore auch einfach nur die URL als Programmpfad angeben. dann wird die URL automatisch im Standardbrowser geöffnet !


kann mir jem. den Code posten und auch noch sagen wie man die ShellExecute einbindet. Ich will eine Datei starten, die im selben verzeichnis liegt wie das Programm.


Terra23 - Do 03.07.03 14:06

@Rancor: Zum einbinden kannst du z.B. den Code oben nehmen und ihn auf eine Button-Klick Prozedur setzen und in die Uses-Anweisung nimmst du noch ShellApi auf..


Unzi - So 06.07.03 09:04

Hier ist mal ein Code zum öffnen einer URL:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
uses ShellApi;
//...
procedure TForm1.Preview1Click(Sender: TObject);
begin
  if FFileName = 'Unbenannt' then
  begin
   Speichernunter1.Click;
   ShellExecute(0'open',pchar(ffilename),nil, pchar(filedir), SW_SHOW);
  end
  else
  begin
    Editor.Lines.SaveToFile(FFileName);
    Editor.Modified := False;
    SetModified(False);
    ShellExecute(0'open', pchar(ffilename),nil, pchar(filedir), SW_SHOW);
  end;
end;

Er öffnet die Datei mit dem aktuell eingestellten Browser von Windows. Das ist besser für Mozilla/Netscape/Opera-Nutzer ;) .

Gruß!
Unzi