Windows 7 innerHTML hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bkantur
Üye
Mesajlar: 47
Kayıt: 23 Kas 2013 04:45
Konum: Balıkesir

Windows 7 innerHTML hatası

Mesaj gönderen bkantur »

Aşağıdaki kod ile sitenin kaynak kodları içinden kullanıcı adını alıyorum ve bazı yerlerde kontrol ettirip kullanıcı girişinin yeniden yapılmasını sağlıyorum. 2 Adet Windows 7 yüklü makinem mevcut 3 gündür makinelerin birinde sorunsuz çalışırken diğerinde Belirtilmemiş Hata diye uyarı verip kullanıcı adını almıyor. 2 makinenin özellikleri aynı ve yeni kurulan hiçbir donanım ve program yok. Sorun makineden kaynaklanıyor ama çözüm bulamadım format bile attım. Bunu nasıl düzeltebilirim hiç başına gelen var mı acaba?

Kod: Tümünü seç

kullanici:=aradansec(embeddedwb1.OleObject.document.body.innerHTML, '<DIV id=userIS>' , '&nbsp;');
bkantur
Üye
Mesajlar: 47
Kayıt: 23 Kas 2013 04:45
Konum: Balıkesir

Re: Windows 7 innerHTML hatası

Mesaj gönderen bkantur »

Kod: Tümünü seç

function WB_GetHTMLCode(WebBrowser: TEmbeddedWB; ACode: TStrings): Boolean;
var
  ps: IPersistStreamInit;
  ss: TStringStream;
  sa: IStream;
  s: string;
begin
  ps := WebBrowser.Document as IPersistStreamInit;
  s := '';
  ss := TStringStream.Create(s);
  try
    sa := TStreamAdapter.Create(ss, soReference) as IStream;
    Result := Succeeded(ps.Save(sa, True));
    if Result then ACode.Add(ss.Datastring);
  finally
    ss.Free;
  end;
end;
Bu kodlar ile durumu çözebileceğim ama burada memo kullanmadan nasıl çözebilirim

Kod: Tümünü seç

WB_GetHTMLCode(EmbeddedWB1, Memo1.Lines);
kullanici:=TrimLeft(aradansec(Memo1.text, '<div id="userIS">' , '&nbsp;'));
Memo1.Text:= kullanici;
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Windows 7 innerHTML hatası

Mesaj gönderen SimaWB »

Memo.Lines yerine TStringList tipinde bir değişken tanımlayıp onu kullanabilirsiniz:

Kod: Tümünü seç

var 
  SL: TStringList;
begin
  SL := TStringList.Create;
  try
    WB_GetHTMLCode(EmbeddedWB1, SL);
    kullanici := TrimLeft(aradansec(SL.text, '<div id="userIS">' , '&nbsp;'));
  finally
    SL.Free;
  end;
end;
There's no place like 127.0.0.1
Cevapla