Falscher Parameter in DbCommitAll()?

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Falscher Parameter in DbCommitAll()?

Beitrag von Jan »

Hallo,

ich bekomme ab und an eine Fehlermeldung
Fehler BASE/3
Beschreibung: Parameter hat falschen Typ
Operation: DbCommitAll
Öhm - seit wann kann man denn DbCommitAll() einen Parameter mitgeben? Und welcher soll denn das bitte schön sein? Die Fehlermeldung gibt ja auch ganricht an, was da falsch übergeben wurde (nicht mal ein NIL oder [leer]), wie das da sonst normalerweise steht.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Falscher Parameter in DbCommitAll()?

Beitrag von UliTs »

Du kannst jeder Funktion Parameter mitgeben!
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Falscher Parameter in DbCommitAll()?

Beitrag von Tom »

Ja, aber wenn sie ignoriert bzw. nicht ausgewertet werden, kann es nicht zu einem solchen Laufzeitfehler kommen. DbCommitAll() ignoriert alle Parameter. Du kannst das hier machen:

Code: Alles auswählen

DbCommitAll(Date())
DbCommitAll(1.930303)
DbCommitAll({1,2,3})
und es passiert nix.

Code: Alles auswählen

FUNCTION Test()
MsgBox('Test')
RETURN NIL
Egal, womit ich "Test()" aufrufe, die Funktion macht immer das gleiche. Die Parameter werden einfach nicht entgegengenommen.

DbCommitAll() schreibt ja Daten durch, aktualisiert Indexe physikalisch usw. Ich nehme an, dass dabei etwas geschieht, das innerhalb (!) der Funktion zu diesem Fehler führt. Es ist also kein Parameter, der an die Funktion übergeben wird, sondern möglicherweise innerhalb der Funktion einer. Das könnte an einem falschen Indexausdruck o.ä. liegen.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Falscher Parameter in DbCommitAll()?

Beitrag von AUGE_OHR »

DbCommitAll() führt ja ein DbCommit() in "jeder" WorkArea aus d.h. das vermutlich Threads im Spiel sind.

hm ... :-k ... in c:\ALASKA\XPPW32\SOURCE\SYS\AppExit.prg wird jedes Element (ALIAS) "einer" Workspacelist() einzeln abgehandelt ...
gruss by OHR
Jimmy
Antworten