Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi OnTime Exepction ? (https://www.delphipraxis.net/89553-ontime-exepction.html)

Klaus01 2. Apr 2007 11:40

Re: OnTime Exepction ?
 
Hallo,

pos ist bei Dir eine globale Variable?
Wo setzt Du diese?

Delphi-Quellcode:
if LoginStatus then
  begin
    if pos >= 0 and pos <= ListView.Items.count -1 then // <- neu
      begin
        ID := ListView1.Items[Pos].SubItems[14];
        Href := Form1.WebBrowser1.OleObject.
    ....
Grüße
Klaus

nitschchedu 2. Apr 2007 13:01

Re: OnTime Exepction ?
 
Also das sind 3 Sachen:

1: Ich drücke den Button

Delphi-Quellcode:
procedure TfrmBot.Button2Click(Sender: TObject);
var
   ID: String;
begin
  [u]Pos := 0;[/u]

  if ListView1.Items.Count = 0 then
  begin
     ShowMessage('Bitte erstmal was in die Liste eintragen!');
     Exit;
  end;

  ID := ListView1.Items[Pos].SubItems[14];

  Form1.WebBrowser1.Navigate(http://www.google.de/search.php?id=' + 
       ID + '&suche=place');
end;
So das "Form1.WebBrowser1.Navigate(http://www.google.de/search.php?id=' +
ID + '&suche=place');" ruft eine Seite auf.

2: Nun warte ich bis die Seite Fertig ist.

Delphi-Quellcode:
procedure TfrmBot.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  Form1.Edit1.Text := URL;
  Form1.StatusBar1.SimpleText := URL+' erfolgreich geladen';
  Timer1.Enabled := True;
end;
Mit "Timer1.Enabled := True;" Schalte ich es an (Da noch Frames mit geladen werden Warte ich 3 Sekunden).

3: Siehe oben das OnTime.

Gruber_Hans_12345 2. Apr 2007 13:05

Re: OnTime Exepction ?
 
ok, und wo trägst du das element in die liste ein?

ich glaube es reicht nicht aus, das du die 15 spalten anlegst, du mußt diese auch bei jedem Element befüllen.

nitschchedu 2. Apr 2007 13:22

Re: OnTime Exepction ?
 
Also so langsam haben wir fast den ganzen Quellcode :zwinker: .

Delphi-Quellcode:
procedure TfrmBot.btAddClick(Sender: TObject);
var
 ListItem: TListItem;
begin
  ListItem := ListView1.Items.Add;
  ListItem.Caption := edR.Text;
  ListItem.SubItems.Add(ed1.Text);
  ListItem.SubItems.Add(ed2.Text);
  ListItem.SubItems.Add(ed3.Text);
  ListItem.SubItems.Add(ed4.Text);
  ListItem.SubItems.Add(ed5.Text);
  ListItem.SubItems.Add(ed6.Text);
  ListItem.SubItems.Add(ed7.Text);
  ListItem.SubItems.Add(ed8.Text);
  ListItem.SubItems.Add(ed9.Text);
  ListItem.SubItems.Add(ed10.Text);
  ListItem.SubItems.Add(ed11.Text);
  ListItem.SubItems.Add(ed12.Text);
  ListItem.SubItems.Add(ed13.Text);
  ListItem.SubItems.Add(ed14.Text);
  ListItem.SubItems.Add(ed15.Text);
end;
Ich muss dazu noch sagen das dieser Effekt nur im OnTime oder im WebBrowser1DocumentComplete, so wie ich das jetzt festgestellt habe.

Gruber_Hans_12345 2. Apr 2007 13:28

Re: OnTime Exepction ?
 
ich vermute mal, du überschreibst dir noch irgendwo die pos, kann es sein, das du pos noch in einem andrem stückchen code verwendest?

(und ich würde auch einen anderen variablen namen verwenden, pos ist immerhin eine delphi funktion)

Luckie 2. Apr 2007 13:33

Re: OnTime Exepction ?
 
Der Variablenname pos ist sowieso ungünstig, da es eine gleichnamige Funktion in der Unit SysUtils gibt.

nitschchedu 2. Apr 2007 13:37

Re: OnTime Exepction ?
 
Später wollte ich es noch hochzählen. Habe die Variabel mal unbenannt in lePos. Aber immer noch der Fehler.

Gruber_Hans_12345 2. Apr 2007 13:44

Re: OnTime Exepction ?
 
bist du 100% sicher, das du diese variable sonst niergends veränderst?

Kontrolliere es nochmal mit dem Debugger, das lePos sicher auf 0 steht, wenn der Timer augelöst wird.

ansonsten poste einfach mal den gesamten code, der fehler müsste in einem noch nicht geposteten stückchen code liegen.

nitschchedu 2. Apr 2007 14:03

Re: OnTime Exepction ?
 
Habe das hier gepostet da ich beim Debugen nichts gefunden habe. Der wert ist 0 wenn ich an die Stelle komme.

Und wenn ich
Delphi-Quellcode:
ListView1.Items[0].SubItems[14];
das mache schmiert er auch ab. Kann es sein das ich keinen zugrief auf ListView habe ?

Gruber_Hans_12345 2. Apr 2007 14:14

Re: OnTime Exepction ?
 
dann gib dir einfach mal die zwei werte manuell aus ... (kurz vor der zeile wo er die AV reißt)

Delphi-Quellcode:
ShowMessage('Items.Count : '+IntToStr(ListView1.Items.Count));
ShowMessage('SubItems.Count : 'IntToStr(ListView1.Items[0].SubItems.Count));


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz