Autor Beitrag
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Di 12.02.08 08:38 
Hi,

ich rufe mit shellexecute ein HTML (XHTML) Dokument auf - das klappt auch schön. Was nicht klappt: Innerhalb des Dokuments gibt es Anker, die ich gerne anspringen will, allerdings kommen beim Browser die Anker nicht an - sondern nur die eigentliche HTML-Datei.

Beispiel: Der Link:

ausblenden Quelltext
1:
file:///c:/Test/Test1/1234567.htm#1234567:sub1					


das zeigt der Browser (Firefox oder IE) an:
ausblenden Quelltext
1:
file:///c:/Test/Test1/1234567.htm					


der Aufruf erfolgt durch:
ShellExecute(self.Handle,'open',PAnsiChar(url),'','',SW_SHOW);

Ich habe schon versucht den Anker über die Parameter zu übergeben, bringt aber auch nix.

Woran liegts? Wenn ich den vollständigen Link in einem der Browser angebe, wird die Datei geöffnet und auch an den Anker gesprungen...

Grüße
Lemmy

Edit: Doppelpost: forum.delphi-treff.d...owthread.php?t=22854


Moderiert von user profile iconNarses: Topic aus Internet / Netzwerk verschoben am Sa 20.02.2010 um 00:22
Lemmy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Di 12.02.08 11:17 
Hi,

Zwischenstand:

wenn ich unter XP den Aufruf umbaue:

ausblenden Delphi-Quelltext
1:
ShellExecute(self.Handle,'open',PAnsiChar(IE_Exe),PAnsiChar(url),'',SW_SHOW);					


also die IE-Exe angebe und die URL als Parameter, wird der Anker angesprungen.

Unter Vista funktioniert aber selbst das Vorgehen nicht...

Grüße
Lemmy
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 19.02.10 19:37 
Huhu Lemmy,

ich hab das Datum gesehen, ja.

Aber hast Du dennoch eine Lösung gefunden?

Ich hatte das gleiche Problem und habe einfach mal den String in "<string>" gepackt. Damit hat es dann funktioniert.

ausblenden Delphi-Quelltext
1:
2:
3:
  if Length(Trim(Nav)) > 0 then
    URL := '"file:///' + URL + Nav + '"';
  ShellExecute(0'open', PChar(Url), nilnil, SW_SHOWNORMAL);


URL und NAV sind über eine Procedure übergebene String-Parameter.

Beispiel:
ausblenden Delphi-Quelltext
1:
ShellExecute(0'open', PChar("http://www.delphi-forum.de/viewtopic.php#487508"), nil, nil, SW_SHOWNORMAL);					

Geht auch mit einer lokalen Datei unter Windows XP.

Gruß
~Mathias

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Mo 05.07.10 14:12 
Huhu Lemmy,

guck mal, wir haben eine Lösung gefunden:

www.delphiforum.de/viewtopic.php?p=610588
Lemmy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Di 06.07.10 07:58 
hi,


Danke für den Hinweis und die Lösung! Dieses Feature wurde damals (leider) nicht mehr weiter verfolgt. Aber danke für den Hinweis, das kann man immer wieder mal brauchen...
Grüße