Autor Beitrag
BigBen4ever
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: Fr 07.10.05 12:07 
hallo.

ich möchte gerne selbstgeschriebene prozeduren aufrufen...die wie folgt heißen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure durchlauf1;
procedure durchlauf2;
procedure durchlauf3;
procedure durchlauf4;
...
...


dieses aufrufen der prozeduren passiert immer wenn mein webbrowser eine seite fertiggeladen hat, code sieht wie folgt aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
WebBrowser1.Tag := 1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Flags, TargetFrameName, PostData, Headers : OleVariant;
begin
for z := 0 to 10 do
begin
webBrowser1.Tag := 1;//damt es überhaupt losläuft
//voriger Durchlauf ok?
while (WebBrowser1.ReadyState < READYSTATE_COMPLETE) or (WebBrowser1.Tag = 0) do
Application.ProcessMessages;
WebBrowser1.Tag := 0;

=>>>>>>>>>>>  durchlauf1;

   //
    //Laden fertig?
    while (WebBrowser1.ReadyState < READYSTATE_COMPLETE) or (WebBrowser1.Tag = 0) do
      Application.ProcessMessages;
  end;
end;


MEIN PROBLEM ich möchte nachdem die schleife einmal durchgelaufen ist nicht nochmal "durchlauf1" sondern durchlauf2 aufrufen....ich hab allerdings keine ahnung wie ich bei so einem PROZEDURAUFRUF nun die zahl dort erhöhen kann...

mit:

ausblenden Delphi-Quelltext
1:
durchlauf+inttostr(z+1);					


hat es jedenfalls nicht funktionert...ich weiß das ist ein sehr spezielles problem falls trotzdem jemand ne idee hat wäre ich sehr dankbar!
p

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Fr 07.10.05 12:12 
Also irgendwie versteh ich das net ganz. Du kannst doch einfach die Prozeduren in DocumentComplete ausführen, wenn ich das so jetzt richtig versteh...

_________________
Programmers never die, they just GOSUB without RETURN
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.10.05 12:16 
Diese Vorgehensweise ist nicht sinnvoll! Du müsstest ja tatsächlich für x Durchläufe jeweils eine Prozedur definieren.

Wenn überhaupt so, dann übergebe an die Prozedur Durchlauf einen integer-Wert mit dem aktuellen Counter-Wert.

Aber wie wärs so: (Ob das für dein Problem sinnvoll ist, weiß ich nicht, dafür müsstest du dieses beschreiben...)
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
var
  Form1: TForm1;
  DurchlaufCounter: Integer;

implementation

procedure TForm1.Durchlauf;
begin
  ShowMessage(IntToStr(DurchlaufCounter) + '. Durchlauf');
  Inc(DurchlaufCounter); //Durchlaufzähler erhöhen
end;

procedure TForm1.Button1Click(Sender: TObject);  
var Flags, TargetFrameName, PostData, Headers : OleVariant;  
begin  

DurchlaufCounter := 1;  // <=== Counter initialisieren

for z := 0 to 10 do  
begin  
webBrowser1.Tag := 1;//damt es überhaupt losläuft  
//voriger Durchlauf ok?  
while (WebBrowser1.ReadyState < READYSTATE_COMPLETE) or (WebBrowser1.Tag = 0) do  
Application.ProcessMessages;  
WebBrowser1.Tag := 0;  

 
Durchlauf;  // <=== Der Durchlauf wird dort gezählt

 
   //  
    //Laden fertig?  
    while (WebBrowser1.ReadyState < READYSTATE_COMPLETE) or (WebBrowser1.Tag = 0) do  
      Application.ProcessMessages;  
  end;  
end;
BigBen4ever Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: Fr 07.10.05 13:03 
die idee ist gut ...
ich werde mal versuchen es so umzusetzen, wenn es nicht funktioniert melde ich mich nochmal ..