Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   "Ausdruck erwartet, jedoch leer vorgefunden" (https://www.delphipraxis.net/161590-ausdruck-erwartet-jedoch-leer-vorgefunden.html)

Jack and the Juice 11. Jul 2011 12:40

"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

DeddyH 11. Jul 2011 12:41

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Wie wäre es mit etwas Code und der hervorgehobenen Fehlerzeile?

Jack and the Juice 11. Jul 2011 12:47

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Oh, natürlich ... tut mir leid. Habe ich in der Hektik glatt vergessen ...

Delphi-Quellcode:
 
...
begin
  id := form3.codeunixdatetime(now);
  frm_main.ClientDataSet1.Append;
  with frm_main.ClientDataSet1 do
  begin
    FieldByName('ID').AsInteger := id;
    FieldByName('Land').AsString :=...
  end;
end;
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.

DeddyH 11. Jul 2011 12:52

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Ist das ein Laufzeitfehler, oder meckert bereits der Compiler?

Jack and the Juice 11. Jul 2011 12:54

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.

DeddyH 11. Jul 2011 12:57

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?

Jack and the Juice 11. Jul 2011 13:00

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

himitsu 11. Jul 2011 13:08

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.

Jack and the Juice 11. Jul 2011 13:14

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.

himitsu 11. Jul 2011 13:35

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Zitat:

Zitat von Jack and the Juice (Beitrag 1111145)
dass ich dafür jetzt einen eigenständigen Thread aufmachen musste.

Zum Lernen, für's nöchste Mal, wr es doch gut und vielleicht hilft's auch mal Anderen auf die Sprünge.

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.

Butch87 11. Jul 2011 13:42

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Zitat:

Zitat von himitsu
Hab gestern sogar gelernt/entdeckt, daß man Haltepunkte automatisch (de)aktivieren lassen kann, durch andere Haltepunkte, damit sie nicht immer reagieren/anhalten.

Kannste das mal bitte näher erläutern?

himitsu 11. Jul 2011 14:08

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Kann's nicht so gut/schnell erklären ... lad aber gern, nach Feierabend, eine nette Bilderreihe dazu hoch.

jaenicke 11. Jul 2011 14:17

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:

Memnarch 11. Jul 2011 14:20

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

Butch87 11. Jul 2011 14:45

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Nettes Feature.
Wusste bisher noch nichmal das es Eigenschaften eines Haltepunktes gibt. :oops:

jaenicke 11. Jul 2011 14:47

AW: "Ausdruck erwartet, jedoch leer vorgefunden"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Memnarch (Beitrag 1111154)
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:.

Das siehst du sowohl beim Quelltext als auch in der Liste der Haltepunkte doch sofort. :gruebel:
Anhang 34669
Deutlicher geht es eigentlich nicht. ;-)

Zitat:

Zitat von Butch87 (Beitrag 1111157)
Wusste bisher noch nichmal das es Eigenschaften eines Haltepunktes gibt. :oops:

Ohne das und die Liste der Haltepunkte mit Aktivieren und Deaktivieren sowie den Stackprotokollen würde ich beim Debuggen deutlich länger brauchen. ;-)


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