![]() |
"Ausdruck erwartet, jedoch leer vorgefunden"
Hallo,
ich bin langsam ein wenig am Verzweifeln. Beim ClientDataset.Append bekomme ich neuerdings die Fehlermeldung "Ausdruck erwartet, jedoch leer vorgefunden". Mir wäre sehr geholfen, wenn sich jemand dem Problem annehmen würde und mir eventuell kurz erklären würde, was es mit dieser Fehlermeldung auf sich hat. Vielen Dank schonmal und mit besten Grüßen, jackandthejuice |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Wie wäre es mit etwas Code und der hervorgehobenen Fehlerzeile?
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Oh, natürlich ... tut mir leid. Habe ich in der Hektik glatt vergessen ...
Delphi-Quellcode:
Der Fehler tritt genau bei frm_main.clientdataset1.append auf. Leider wurde ich hier im Forum auch nicht direkt fündig und zu der Fehlermeldung gibt Google auch nicht gerade viel aus.... begin id := form3.codeunixdatetime(now); frm_main.ClientDataSet1.Append; with frm_main.ClientDataSet1 do begin FieldByName('ID').AsInteger := id; FieldByName('Land').AsString :=... end; end; |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Ist das ein Laufzeitfehler, oder meckert bereits der Compiler?
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Nein, der Compiler meckert auch schon. Hab das Ganze durch Haltepunkte nochmal geprüft, aber irgendwelche augenscheinlichen Fehler fallen mir nicht auf.
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Und Du bist sicher, dass das nicht von form3.codeunixdatetime kommt? Was geschieht, wenn Du die id einfach mal beherzt mit z.B. 1 belegst?
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Danke für deinen Hinweis. Aber es lag an etwas anderem ... ich hatte im OnDataChange vom ClientDataSet etwas eingebaut, was den Fehler ausgelöst hat. Hab das ganze jetzt ausfindig gemacht und werd mich daran begeben, es zu beseitigen.
Besten Dank nochmal, jackandthejuice |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Hätte man da nicht beim Debuggen (z.B. die vernachlässigte F7) mitbekommen müssen wo es genau knallt?
Abgesehn davon, daß man sich dabei auch gleich mal die Variablen mit ansehen kann, ob diese auch korrekte Werte enthalten. |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Den Variableninhalt habe ich mir angeschaut, der war korrekt. Ich habe wie gesagt einen Haltepunkte gesetzt und - vermutlich lag da der Fehler - mit F8 durchgeschaltet. Vielen Dank also für den Tipp mit F7 und tut mir leid, dass ich dafür jetzt einen eigenständigen Thread aufmachen musste.
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Zitat:
Leider darf/kann man nicht immer die Position nehmen, wo der Cursor nach der Exceptions steht, als Fehlerstelle ansehn, da er leider nicht immer dort stehen bleibt, wo es wirklich geknallt hat, bzw. die Ursache für den Fehler kann ja auch schon früher aufgetreten sein und sich an dieser Stelle nur erst gezeigt haben. Ich geh meist auch erst mit F8 grob durch, merke mir die letzte Stelle und gehe dann stück für Stück je eine Ebene mit F7 tiefer (zwischendurch dann auch wieder F8 und Haltepunkte) Hab gestern sogar gelernt/entdeckt, daß man Haltepunkte automatisch (de)aktivieren lassen kann, durch andere Haltepunkte, damit sie nicht immer reagieren/anhalten. |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Zitat:
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Kann's nicht so gut/schnell erklären ... lad aber gern, nach Feierabend, eine nette Bilderreihe dazu hoch.
|
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Liste der Anhänge anzeigen (Anzahl: 1)
Dann mache ich das mal. ;-) Das ist im Grunde sehr einfach. Hier einmal ein Screenshot der Haltepunkteigenschaften von Delphi XE (rechte Maustaste auf den Haltepunkt --> Eigenschaften).
Anhang 34668 Du kannst die Haltepunkte mit dem Feld Gruppe oben einer Gruppe zuordnen, im Screenshot ist das als Beispiel die Gruppe Test. Dann kannst du an anderer Stelle einen weiteren Haltepunkt setzen und unten bei Gruppe aktivieren bzw. deaktivieren die Gruppe hineinschreiben, die du aktivieren oder deaktivieren willst, also hier z.B. Test. Wenn das Programm also an diesem Haltepunkt ankommt, werden die Haltepunkte dieser Gruppe aktiviert oder deaktiviert. Zusätzlich kannst du bei diesem zweiten Haltepunkt, der die anderen umschaltet, auch das Häkchen bei Anhalten herausnehmen, damit das Programm dort nicht anhält. Auf diese Weise kannst du sehr einfach nur bestimmte Bedingungen debuggen. ;-) Nebenbei: Die Protokollierung des Aufrufstacks im Ereignislog funktioniert natürlich auch, wenn der Haltepunkt nicht auf Anhalten steht. // EDIT: Ach ja: Das funktioniert sogar auch schon bei Delphi 7, das ist nichts Neues. :zwinker: |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Schönes feature, aber ich hör mich schon ärgern:
"AH... warum wird prozedur xyz nicht aufgerufen, hab nen haltepunkt gesetzt und es kommt nichts" irgendwann fällt dann mal auf dass die Gruppe deaktiviert ist :twisted:. OK, ich hab sowiesoimmer smartinspect an, also wird mir sowas nicht passieren, aber es könnte jemandem passieren. MFG Memnarch |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Nettes Feature.
Wusste bisher noch nichmal das es Eigenschaften eines Haltepunktes gibt. :oops: |
AW: "Ausdruck erwartet, jedoch leer vorgefunden"
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Anhang 34669 Deutlicher geht es eigentlich nicht. ;-) Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr. |
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