Autor Beitrag
smilie128
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Do 11.12.03 16:00 
Hallo

Ich möchte ein Programm schreiben, in dem eine vom Benutzer definierte
Web-Seite aufgerufen wird. Wenn der Benutzer nun einen Link anklickt soll das Programm entscheiden ob dieser Link ausgeführt wird oder in einer String-Variable zur weiteren Verwendung gespeichert wird.
Das aufrufen der Seite ist mit Webbrowser kein Problem.
Aber wie finde ich den Link herraus, den der Benutzer anklickt, und wie kann ich die Ausführung bei bedarf unterbinden?
Als Alternative würde es mir auch reichen, wenn anstelle eines WebBrowsers in einem Delphi-Programm der IE benutzt würde.
Je nachdem was einfacher ist (dann könnte das Programm im Hintergrund lauschen).
Ich weis ja das man erstmal im Forum suchen soll.
Mitlerweile habe ich auch schon eine Menge HTML-Parser gefunden und ausprobiert, die aber entweder eine HTML-Datei benötigen und nur Links in einem Memo oder ähnlichem speichern, oder probleme mit Seiten haben die PHP enthalten und Verschiedene Beispiele hier aus dem Forum funktionieren leider nur mit reinen HTML-Seiten (Per umweg über Memo).

Vielleicht hat ja irgendwer eine Idee oder einen Link zu einer Lösung für mich.

So das war nun viel Text ich hoffe es sind genug informationen enthalten um mir zu helfen. Wenn nicht, bitte nachfragen.

Erstmal danke im vorraus

smilie128


Zuletzt bearbeitet von smilie128 am Do 18.12.03 18:45, insgesamt 1-mal bearbeitet
Currywurst
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

Win XP Pro
D3 Pro, D5 Std, D6 Pers
BeitragVerfasst: Fr 12.12.03 07:01 
nimm den embeddedwb und schau dich hier mal um, da is das alles beschrieben www.euromind.com/iedelphi/
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Fr 12.12.03 20:19 
Hallo

Ich habe mir gestern die embeddedwb runtergeladen .
Das Problem das ich jetzt habe ist, daß ich die Microsoft HTML Object Library (Version 4.0) installieren muß aber imer die Fehlermeldung bekomme [Error] Mshtml_tlb.pas(97982):'Get_fontFamily' und davon eine ganze Menge.
Hat jemand eine Lösung für dieses neue Problem?

smilie128
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Di 16.12.03 15:49 
Titel: Keine Hilfe ?
Hi
So langsam bekomme ich das gefühl mir kann oder will hier keiner helfen.
Ich habe mitlerweile eingige Seiten zu dem Thema abgesucht
aber es bleibt immer das selbe problem:
Sobal kein reiner HTML-Code vorhanden ist habe ich keine Möglichkeit auf den Quellcode einer Seite zuzugreifen
Was mich auch wundert ist die Tatsache das ich die MSHTML_TLB nicht compilieren kann die ich bei einigen vielversprechenden Möglichkeiten benötige.

Naja kann man nichts machen
:(
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 16.12.03 16:01 
Hi,

ich kann dir nicht sagen, wie du dein Problem mit dem IE lösen kannst. PBears HTML-Viewer übergibt aber dem Programierer die Verantwortung, wenn ein Link angeklickt wird. Allerdings kann die kostenlose Version so einiges (wie z.B. Frames) nciht.

Gruß
Klabautermann
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Di 16.12.03 17:54 
Hallo Klabautermann

Danke für den Hinweis.

Das Problem ist aber das ich auch Frames mit einbeziehen muß.
Ich habe gerade mal nachgeschaut was das Tool kostet :roll:
Das lohnt sich leider nicht für mich.

Ich werde weiter suchen und probieren.
Sollte ich eine komplette Lösung finden were ich sie hir mal posten

Gruß
smilie128
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Do 18.12.03 18:43 
Hi zusammen,
habe mitlerweile eine Lösung unter www.swissdelphicente...showcode.php?id=1729 gefunden die ich für meine Zwecke umbauen konnte.
Jetzt kommt nur noch der schwierige Teil die Lösung in mein Programm einzubauen :)

Danke für Eure Hilfe
smilie128
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Sa 22.11.08 07:42 
Hallo

Via activeElement kommst du an die angeklickte URL. Im OnNewWindow2 kannst du dann je nach Bedingung die Navigation abbrechen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; 
  var ppDisp: IDispatch; var Cancel: WordBool); 
var 
  URL: WideString; 
begin 
  URL := ((TEmbeddedWB(Sender).document as IHTMLDocument2).activeElement as IHTMLElement).getAttribute('href'0); // ohne Checks ob Dokument verfügbar etc!!
  Cancel := ....
end;