Seite 1 von 1

[gelöst] URL im Hintergrund aufrufen

Verfasst: 15. September 2008 17:49
von Wimpp
Hallo,

ist es möglich in Navision eine URL im Hintergrund aufzurufen?

Über Hyperlink(); kann ich ja ein Fenster mit der URL öffnen.

Folgende Bewandniss:
Wir setzten SK Suite ein. Dort kann ich über CTI eine Rufnummer wählen. Jetzt ist es so, dass ich die Rufnummer Markieren, Kopieren, TK-Suite öffen und auf wählen klicken muss. Ich kann aber auch über eine URL wählen "http://tksuite:5080/contact?call=rufnummer".
Da ich dann aber immer ein Browserfenster zu schließen haben, wäre es einfacher wenn Navision die URL im Hintergrund aufruft, geht das?

P.S.: Habe einen Beitrag über SMS verschicken gelesen, siehe hier http://www.navision24.de/tutorials/sms-verschicken.html
Nun habe ich aber Windows XP x64 und x32. Auf dem x64 System lässt er mir die dll nicht regristrieren.

Hat jemand eine Idee?

Re: URL im Hintergrund aufrufen

Verfasst: 16. September 2008 07:23
von garak
kleiner Tip und Wink mit dem Zaunpfahl: schau dir mal die Automation variable vom IE-Explorer an ...

Re: URL im Hintergrund aufrufen

Verfasst: 16. September 2008 10:51
von Wimpp
Ok habe jetzt ein Variable angelegt:

Name DataType Subtype Length
Wählen Automation 'Microsoft Internet Controls'.InternetExplorer

Dann habe ich im onPush Trigger folgendes eingefügt:

Code:
CREATE(Wählen);
Wählen.Navigate('http://tksuite:5080/contact?call='+"Telefonnr.");
Wählen.Visible(FALSE);
IF NOT Wählen.Busy() THEN Wählen.Quit();
CLEAR(Wählen);


Jetzt wählt er aber nicht jedesmal. Sondern nur selten.

wenn ich allerdings Visible auf True stelle funktioniert es ohne Probleme bei jedem anlauf.

Woran kann das liegen? Übersehe ich Irgendwas?

Re: URL im Hintergrund aufrufen

Verfasst: 16. September 2008 16:47
von Natalie
Was möchtest du mit dieser Zeile erreichen?

Code:
IF NOT Wählen.Busy() THEN
  Wählen.Quit();

Re: URL im Hintergrund aufrufen

Verfasst: 16. September 2008 16:58
von SilverX
Versuch mal folgendes:

Code:
CREATE(Wählen);
Wählen.Navigate('http://tksuite:5080/contact?call='+"Telefonnr.", 14);
Wählen.Visible(FALSE);
SLEEP(1000);
Wählen.Quit();
CLEAR(Wählen);


Ggf. reicht die Zeit nicht immer aus um die URL aufzurufen. Die 14 definiert folgendes (optional):

navNoHistory = 0x2,
navNoReadFromCache = 0x4,
navNoWriteToCache = 0x8,

Damit wird nichts in die Historie geschrieben und weder vom Cache gelesen noch geschrieben.

Eventuell musst du noch eine Schleife bauen, die über Busy() abfragt, ob die Seite bereits komplett aufgerufen wurde. Dazu dann noch eine weitere Abbruchbedingung, falls der Browser Busy bleibt (abschließen mit Stop()).

Re: URL im Hintergrund aufrufen

Verfasst: 18. September 2008 12:56
von Wimpp
Danke, Funktioniert.

Allerdings musste ich die "14" weglassen weil er damit nichts anfangen kann.
Aber ich nehm an damit es durch das Sleep funktioniert.

Re: [gelöst] URL im Hintergrund aufrufen

Verfasst: 18. September 2008 13:25
von SilverX
Nachschlag: Die 14 wird wahrscheinlich funktionieren, wenn sie als Variable übergeben wird. Also so in etwa:

Code:
Flags := 14;
Wählen.Navigate('http://tksuite:5080/contact?call='+"Telefonnr.", Flags);


Wobei Flags als Integer definiert sein müsste.