Avatar billede loproc Praktikant
06. december 2001 - 22:55 Der er 32 kommentarer og
1 løsning

Deling af IDsipatch mellem programmer

Hejsa!
Jeg er ved at lave en lile browser med TWebBrowser komponenten. Ved onNewWindow2 eventel skal jeg starte en ny kopi af browseren... Det er jo let nok men jeg skal også have så linken der er klikket på åbnes i det nye vindue. Derfor skal jeg i programmet bruge en IDispatch på browseren i den nye instance af programmet.... HVORDAN?
Avatar billede ziron Nybegynder
06. december 2001 - 22:57 #1
hvad gør du for at åbne den nye browser??? bare excuter din exe fil 2 gange???

/ZIRON
Avatar billede gusse Nybegynder
06. december 2001 - 23:03 #2
du kan da bare kalde den med en parameter

minbrowser.exe http://www.mysite.dk

if paramcount>0 then
  openbrowser(paramstr(1))

Avatar billede ziron Nybegynder
06. december 2001 - 23:04 #3
hehe qusse, det var også det jeg tænkte på :)

men kan man skulle have droppet det med at spørge først :)

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:05 #4
Hvordan henter jeg URL\'en der er klikket på?
Avatar billede loproc Praktikant
06. december 2001 - 23:06 #5
Ja, jeg executer bare en instance mere af mit proggy... jeg har lavet så det acceptrer parametre...
Avatar billede ziron Nybegynder
06. december 2001 - 23:06 #6
hvad menere du???

/ZIRON
Avatar billede ziron Nybegynder
06. december 2001 - 23:08 #7
Avatar billede loproc Praktikant
06. december 2001 - 23:09 #8
Jeg mener hvordan vedjeg i min WebBrowser1NewWindow2 hvilken URL der skal åbnes i den nye instance?
Avatar billede ziron Nybegynder
06. december 2001 - 23:09 #9
det er vel den som den står på i forvejen, laver  lige et eks... :)

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:11 #10
oki doki.... men det er når en link skal åbnes i et nyt vindue... så er det jo URL\'en af den link man klikker på og ikke den side man allerede er på...
Avatar billede ziron Nybegynder
06. december 2001 - 23:13 #11
arrr det er på den måde du vil gøre det på, hmmm så skal man jo ud og se hvad det er der bliver trykket på...

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:16 #12
I WebBrowser1NewWindow2 proceduren skal jeg stikke den en DefaultDispatch som er den IDispatch som den nye Browser har... Så virker det, men hvordan ved jeg hvad den er?
Avatar billede ziron Nybegynder
06. december 2001 - 23:17 #13
kigger lige, 2 sek...

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:17 #14
eller... det er omvendt... i proceduren skal jeg give den den nye browsers DefaultDispatch som en IDispatch...
Avatar billede ziron Nybegynder
06. december 2001 - 23:29 #15
du kan gører det liddt sådan her, men her er det ikke et nyt program som åbner, men bare en ny form, tænker stadig lige over den med program. men du kan selvfølgelig gører det på en let måde, men lidt fake...

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
var
  dinnyeform : TForm1;
begin
  dinnyeform := TForm1.Create(Self);
  dinnyeform.Visible := true;
  ppdisp := dinnyeform.WebBrowser1.Application;
end;

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:32 #16
Det virker jo fint... og dog... kom lige i tanker om at det jo er en ny form... så hvis man lukker den første form... øvøv...
Avatar billede ziron Nybegynder
06. december 2001 - 23:32 #17
okay det ser ud til at det var noget du kunne bruge, mne jeg prøver lige at fikse det så det er et nyt program den åbner og ikke en form...

/ZIRON
Avatar billede ziron Nybegynder
06. december 2001 - 23:33 #18
hehe og jeg skrev det enda :)

/ZIRON
Avatar billede loproc Praktikant
06. december 2001 - 23:45 #19
Hvad med den fuskede måde du nævnte?
Avatar billede ziron Nybegynder
06. december 2001 - 23:47 #20
ja det er det jeg sidder og leger med, men stener alt for meget. hmmm skal lige bruge en funktion som finder den url som man er på????


/ZIRON
Avatar billede ziron Nybegynder
06. december 2001 - 23:48 #21
hmmm meget underligt...

/ZIRON
Avatar billede ziron Nybegynder
06. december 2001 - 23:56 #22
så tror næsten at jeg har en løsning :)

/ZIRON
Avatar billede loproc Praktikant
07. december 2001 - 00:06 #23
oki doki
Avatar billede ziron Nybegynder
07. december 2001 - 00:07 #24
det er min shellexecute og paramcount som ikke vil som jeg vil :(

/ZIRON
Avatar billede loproc Praktikant
07. december 2001 - 00:08 #25
Det har jeh... jeg har shellexecute og proggyet accepter params...
Avatar billede ziron Nybegynder
07. december 2001 - 00:09 #26
okay smid lige det for mit det stener alt for meget...

/ZIRON
Avatar billede loproc Praktikant
07. december 2001 - 00:11 #27
ShellExecute(Handle, \'open\', PChar(Application.ExeName), nil, nil, sw_ShowNormal);

if (ParamStr(1) = \'\') then WebBrowser1.GoHome else
begin
  Edit1.Text := ParamStr(1);
  Navigate;
end;

Ved det med params er det falske men det virker ;o)
Avatar billede ziron Nybegynder
07. december 2001 - 00:11 #28
hehe tror jeg har fundet ud af hvorfor den ikke vil hvise noget men, hmmm tænke tænke..

/ZIRON
Avatar billede loproc Praktikant
07. december 2001 - 00:11 #29
ShellExecute(Handle, \'open\', PChar(Application.ExeName), {PARAMS}, nil, sw_ShowNormal);
Avatar billede loproc Praktikant
07. december 2001 - 00:12 #30
procedure TForm1.Navigate;
begin
if (not DirectoryExists(Edit1.Text)) and
  (pos(\'ftp://\', LowerCase(Edit1.Text)) <> 1) and
  (pos(\'mailto:\', LowerCase(Edit1.Text)) <> 1) and
  (pos(\'file://\', LowerCase(Edit1.Text)) <> 1) then
WebBrowser1.Navigate(Edit1.Text);

if (pos(\'mailto:\', LowerCase(Edit1.Text)) = 1) then SpeedButton7Click(Self);
end;
Avatar billede ziron Nybegynder
07. december 2001 - 00:13 #31
ja det er ikke shellexecte som er et problem det er det med at få url\'en som man skal ind på (altså på den nye side) med sig, for den url kommer først frem, hmmm man kunne jo lave en sleep prøver lige :)

/ZIRON
Avatar billede ziron Nybegynder
07. december 2001 - 00:17 #32
loproc har du icq eller msn???

/ZIRON
Avatar billede loproc Praktikant
07. december 2001 - 00:19 #33
ja da.. begge dele :o)
98746969 på ICQ
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester