AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi URLs aus Firefox-Instanzen auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

URLs aus Firefox-Instanzen auslesen

Offene Frage von "Wannabe"
Ein Thema von Wannabe · begonnen am 18. Feb 2005 · letzter Beitrag vom 25. Apr 2009
Antwort Antwort
Seite 3 von 3     123   
mdx
(Gast)

n/a Beiträge
 
#21

Re: URLs aus Firefox-Instanzen auslesen

  Alt 25. Apr 2009, 08:22
Na toll, jetzt kommt wieder:
[DCC Fehler] E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen

Also, mein "kompletter" Code (Mal alles so wie du gemacht - Nur Test!)

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ddeman;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

procedure GetCurrentURL(out URL, Title: AnsiString);
var
   DDEClient : TDDEClientConv;
   p, q: PAnsiChar;
   i: Integer;
begin
   DDEClient := TDDEClientConv.Create(nil);
   try
     with DDEClient do if SetLink('IExplore', 'WWW_GetWindowInfo') or
       SetLink('Netscape', 'WWW_GetWindowInfo') or
       SetLink('Mosaic', 'WWW_GetWindowInfo') or
       SetLink('Netscp6', 'WWW_GetWindowInfo') or
       SetLink('Mozilla', 'WWW_GetWindowInfo') or
       SetLink('Firefox', 'WWW_GetWindowInfo') then
       p := RequestData('0xFFFFFFFF')
     else raise Exception.Create('Could not establish browser DDE link');
     if Assigned(p) then try
       q := p;
       Assert(q^ = '"');
       SetLength(URL, StrLen(q));
       Inc(q);
       i := 0;
       while q^ <> '"do begin
         if (q^ = '\') and (q[1] = '"') then Inc(q);
         Inc(i);
         URL[i] := q^;
         Inc(q);
       end;
       SetLength(URL, i);
       SetLength(Title, StrLen(q));
       i := 0;
       Inc(q, 3);
       while q^ <> '"do begin
         if (q^ = '\') and (q[1] = '"') then Inc(q);
         Inc(i);
         Title[i] := q^;
         Inc(q);
       end;
       SetLength(Title, i);
     finally
       StrDispose(p);
     end else raise Exception.Create('Could not fetch browser data');
   finally
     DDEClient.Free;
   end;
end;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 url, title: String;
begin
  HIER KOMMT DER FEHLER--> GetCurrentURL(url, title);
  ShowMessage(url + #13#10 + title);
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: URLs aus Firefox-Instanzen auslesen

  Alt 25. Apr 2009, 08:25
Zitat von jaenicke:
Delphi-Quellcode:
var
  MyUrl, MyTitle: AnsiString;
Zitat von mdx:
Delphi-Quellcode:
var
 url, title: String;
Fällt dir etwas auf?
Der Parameter der Prozedur ist nun einmal ein AnsiString jetzt, und als var-Parameter muss dieser Typ exakt übereinstimmen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mdx
(Gast)

n/a Beiträge
 
#23

Re: URLs aus Firefox-Instanzen auslesen

  Alt 25. Apr 2009, 08:32
Was man alles übersehen kann =)
Danke @ jaenicke

Also, richtig muss da natürlich sein: AnsiString!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:03 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