Einzelnen Beitrag anzeigen

Benutzerbild von CTV
CTV

Registriert seit: 20. Jan 2004
Ort: Zug CH
83 Beiträge
 
Delphi 7 Professional
 
#1

funktion liest den wert zu früh

  Alt 25. Mai 2005, 07:24
Moin

ich have eine funktion welche eine webseite über den twebbrowser aufruft beim ereignis onDocumentcomplet über gebe ich einen wert welcher von der webseite ist an einer globaler variabel.

in der funktion übergebe ich an result diese globale variabel. jedoch ist die funktion schon fertig bis das onDocumentcomplete über haupt durch is. ich habs versuch mit einem sleep bevor ich die globale variabel am funktions resultat übergebe geht auch ned dann schläft das ganze prog auch das ereigniss onDocumentcomplete. has auch mit while und until versucht und zwar als abbruch bedingung war dass die globale variabel den wert ändert. das kommt aber einem sleep gleich da die ganze reicheleistung sich auf dise schlaufe klausel konsentriet. ich bräuchte eine art sleep funktion die nur eine funktion anhält bis der wert der globalen variabel verfügbar ist. Ich habs ma mit nem thread versucht klappt auch ned ganz. wie kann ich das problem lösen

Delphi-Quellcode:
private
  GR:double;
  getDis(start:string):double;
//...

function tformMain.getDis(start:string):double;
begin
  //....
  wb2.Navigate(extractfilepath(application.ExeName)+'rechne.htm');
  result:=GR;
end;

procedure TFormMain.wb2DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var s,s2,:string;
    i1,i2:integer;
begin
  if pos('s=',url)>0 then
  begin
    WB_GetHTMLCode(wb2,dis);
    s:=dis.Text;
    i1:=pos('edl',s)+12;
    i2:=pos('//',s)-1;
    s2:=copy(s,i1,i2-i1);
        try
      GR:=strtofloat(s2);
    except
      GR:=0;
    end;
  end;
end;
danke für eure hilfe

greetz cy
Wer glaub er ist, hört auf zu werden!
Delphi Rulez!!!
  Mit Zitat antworten Zitat