Biiliyorum bunu daha önceden soranlar oldu fakat hala çözüm bulamadım. Sorun şu ;
formumda bir adet webbrowser var bunla bir siteye bağlanıp içinden text bilgi okutuyor buna göre sayfada işlemler yaptırıyorum
Soru 1 . Formum create olduktan sonra webbrowsera internet bağlantısı varmı kontrolünü nasıl yaptırabilirim. Varsa sayfayı aç yoksa hata ver.
( chekurl diye bir fonksiyon buldum denedim fakat internet bağlantım bilgisyarı yeniden başlatana kadar tamamen gitti. Ondownload begin kısmına yazdım acces violetion hatası aldım.

Soru 2. webbrowser' ın documant complate' inde 3 tane prosedurum var. ilk prosedür açılan web sayfasında kullanıcı adı şifre kısmına bilgileri girerek sayfadaki buttona onclick yapıyor ve girişi başarıyla sağlıyor. açılan sayfa tamamlanınca ikinci prosedürüm devreye girip, sayfadaki gelen mesajlar sayfasını açıyor ve gelen mesajı text olarak bilgisayarıma kaydediyor.
sorun şu ki ilk sayfanın içeriği webbrowserda görüntü olarak tamamlanmamışken prosedür sayfanın içeriğini okumuş ve ikinci sayfaya gitmesi için diğer prosedürüme değerleri göndermiş oluyor. program bazen kırıla biliyor. bunu nasıl aşabilirim.
kodum şu şekilde
-------------------------------
procedure baglan;
begin
form1.WebBrowser1.OleObject.Document.GetElementByID('username').Value:='www.xxxx.com';
form1.WebBrowser1.OleObject.Document.GetElementByID('password').Value:='1234';
form1.WebBrowser1.OleObject.Document.GetElementByID('Login_x').Click;
end;
procedure SayfaBilgisiniAl;
Var
AranacakYer, Ara, SayfaKodu : String;
begin
aranacakyer := form1.WebBrowser1.LocationURL;
Ara := '=';
If Pos(Ara, AranacakYer) > 0 then begin
System.Delete( AranacakYer, 1, Pos(Ara, AranacakYer) + Length(Ara)-1);
SayfaKodu := Copy(AranacakYer, 1, 32);
formidno:=sayfakodu;
form1.WebBrowser1.Navigate('http://xxx.com/xx.html?id='+SayfaKodu); // açacağı sayfanın aderesini buluyor ve navigete ile açıyor
end else form1.Caption:= '? Kod Bulunamadı ?';
end;
-----------------------------------
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
bağlan;
sayfabilgisinial;
end;
Burda sanırım sorun şu Login sayfası açıldğında documantcomplete olayı meydana gelmiş oluyor ve bağlan prosedurunun düzgün çalışıyor ve Sayfabilgisial prosedürüne işi devrediyor. Fakat login sayfası bu arada yeni bir sayfaya beni yönlendirmiş olduğu için sayfabilgisial prosedürü kırılıyor ve düzgün çalışmıyor.
documancomplate bu prosedurleri nasıl kullanmalıyım ki program kırılmasın.
yardımınız için teşekkürler