Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

EnumerateWindows problem

[es] :: Pascal / Delphi / Kylix :: EnumerateWindows problem

[ Pregleda: 2029 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

peradetlickljucadrvo
student

Član broj: 265614
Poruke: 15
*.dynamic.sbb.rs.



Profil

icon EnumerateWindows problem21.09.2010. u 16:17 - pre 165 meseci
pozdrav!naleteo sam na jedan clanak na http://delphi.about.com/od/windowsshellapi/l/aa060303b.htm o tome kako dobiti text iz ie edit polja za adrese..i naravno hteo sam da ga pokrenem medjutim stalno mi javlja gresku 'Variable required',pa ako bi neko mogao da mi kaze u cemu je stvar..

...
function GetUrlFromIE (Handle: THandle; List: TStringList): boolean; stdcall;
...
procedure TForm1.btnRefreshClick(Sender: TObject);
begin
lbIEURL.Clear;
EnumWindows(@GetUrlFromIE, LParam(lbIEURL.Items)); <---GRESKA
end;

function GetUrlFromIE (Handle: THandle; List: TStringList):
boolean; stdcall;
var
hWndIE, hWndIEChild : HWND;
Buffer : array[0..255] of Char;
begin
//get the window caption
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
//look for the Internet Explorer window with "Buffer" caption
hWndIE := FindWindow('IEFrame', Buffer);
if hWndIE > 0 then
begin
//try to get a handle to IE's toolbar container
hWndIEChild := FindWindowEx(hWndIE, 0, 'WorkerW', nil);
if hWndIEChild > 0 then
begin
//get a handle to address bar
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil);
if hWndIEChild > 0 then
begin
//finally, locate combo box and add its text to the list
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil);
if hWndIEChild > 0 then
begin
SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
//List.AddObject(Buffer,TObject(hWndIE));
List.Add(Buffer)
end;
end;
end;
end;
//continue enumeration
Result :=True;
end; (*GetUrlFromIE*)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: EnumerateWindows problem21.09.2010. u 19:27 - pre 165 meseci
> kako dobiti text iz ie edit polja za adrese..i naravno hteo sam da ga pokrenem medjutim stalno mi javlja gresku 'Variable required',pa ako
> bi neko mogao da mi kaze u cemu je stvar..

Verovatno drugačija deklaracija funkcije u odnosu na verziju kada je pisan kod. Napiši gde ti tačno javlja grešku i koji delphi koristiš.
Pokušaj i da kod pišeš između code tagova, mnogo je preglednije.
 
Odgovor na temu

peradetlickljucadrvo
student

Član broj: 265614
Poruke: 15
*.dynamic.sbb.rs.



Profil

icon Re: EnumerateWindows problem21.09.2010. u 19:58 - pre 165 meseci
koristim delphi 7..stavio sam strelicu gde je greska,kod "EnumWindows(@GetUrlFromIE, LParam(lbIEURL.Items));"
hvala!
 
Odgovor na temu

abitbp6

Član broj: 221384
Poruke: 216
*.ptt.rs.



+17 Profil

icon Re: EnumerateWindows problem21.09.2010. u 23:37 - pre 165 meseci
Code:

procedure TForm1.btnRefreshClick(Sender: TObject);
var
  s: TStringList;
begin
  s := TStringList.Create();
  s.Clear;
  EnumWindows(@GetUrlFromIE, LParam(s));
  lbIEURL.Clear;
  lbIEURL.Items.AddStrings(s);
  s.Free;
end;
 
Odgovor na temu

peradetlickljucadrvo
student

Član broj: 265614
Poruke: 15
*.dynamic.sbb.rs.



Profil

icon Re: EnumerateWindows problem22.09.2010. u 03:17 - pre 165 meseci
@abitbp6
ne vredi,opet prijavljuje istu gresku.. :/
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: EnumerateWindows problem22.09.2010. u 11:36 - pre 165 meseci
> ne vredi,opet prijavljuje istu gresku.. :/

Koja kontrola ti je lbIEURL?

Da nisi negde redeklarisao EnumWindows? Pošalji jedan test projekat.
 
Odgovor na temu

peradetlickljucadrvo
student

Član broj: 265614
Poruke: 15
*.dynamic.sbb.rs.



Profil

icon Re: EnumerateWindows problem22.09.2010. u 15:15 - pre 165 meseci
lbIEURL je ListBox..evo ti pa pogledaj..
Prikačeni fajlovi
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: EnumerateWindows problem22.09.2010. u 16:43 - pre 165 meseci
1) GetUrlFromIE mora biti obična funkcija ne metoda, dakle izbaci deklaraciju iz forme.
2) Svaka funkcija (pa i GetUrlFromIE) mora biti deklarisana pre nego što se može pozvati, dakle, njena definicija mora doći pre pozivanja u TForm1.Button1Click.
 
Odgovor na temu

peradetlickljucadrvo
student

Član broj: 265614
Poruke: 15
*.dynamic.sbb.rs.



Profil

icon Re: EnumerateWindows problem23.09.2010. u 14:33 - pre 165 meseci
resio,hvala!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: EnumerateWindows problem

[ Pregleda: 2029 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.