Programm macht Fehlermeldung

Von der Installation bis zur Auslieferung der Applikation

Moderator: Moderatoren

Antworten
kuhno
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Sa, 07. Jan 2006 17:30
Wohnort: Braunschweig
Kontaktdaten:

Programm macht Fehlermeldung

Beitrag von kuhno »

Hallo zusammen,

ich hätt da gern ein Problem.

Ich habe da eine selbstkompilierte Exe. Diese läuft auf meinem Entwicklungssystem (WinXP ServPack1) ohne Probleme. Der Transfer auf andere Rechner mit Win98 ist mir auch (4 mal) geglückt. Dort läuft das Programm auch. Ich habe nun eine 5ten Rchner mit Win98. Auf den habe ich die Anwendung kopiert. Alle wichtigen Verzeichnisse sind im Pfad enthalten. Alle DLLs, die zum Laufen notwendig sind, sind in einem eigenen Verzeichnis untergebracht. Auch dieses ist im Pfad enthalten.

Der Fehler tritt bei der Verbindung zur Postgres-Datenbank auf
Xbase++ Version : Xbase++ (R) Version 1.82.294
Betriebssystem : Windows 98 SE 04.10 Build 02222 A
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: N VALUE: 0
-> VALTYPE: N VALUE: 32
-> VALTYPE: C VALUE: PQconnectdb
-> VALTYPE: C VALUE: host=192.168.1.222 dbname=callman user=postgres
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Parameter hat falschen Wert
oError:filename :
oError:genCode : 1
oError:operation : dllPrepareCall
oError:osCode : 0
oError:severity : 2
oError:subCode : 1024
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von PQCONNECTDB(554)
Aufgerufen von PGSQL:CONNECT(105)
Aufgerufen von MELDUNG(1213)
Aufgerufen von MAIN(145)
Die DLL PGSQL ist von Phil Ide und läuft auf verschiedenen Rechnern unter Win98.

Es kann meiner Meinung nach nur daran liegen, das ich diese DLL in ein falsches Verzeichnis kopiert habe. Z.Zt. steht diese DLL sowohl in ..\system als auch in ..\system32. Unter XP habe ich diese DLL in ..\system32.

Wo in aller Welt liegt hier mein Fehler? :(

Gruß

Manfred
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

Beitrag von AUGE_OHR »

hi,

nur ein "Schuss" ins dunkel : DU scheinst ODBC zu verwenden ?
Wenn ja, ein "frisch" installiertes W98se hat "nur" ODBC 3.51x.

versuche mal eine "JET sp8" UND MDAC v2.8x "update" um
auf die v3.52x ODBC zu kommen.

gruss by OHR
Jimmy
kuhno
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Sa, 07. Jan 2006 17:30
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von kuhno »

Hallo Jimmy,

nein, ich verwende ODBC nicht dafür.

Ich habe aber den richtigen ODBC-Treiber installiert und kann auch über OpenOffice an die Datenbank dran.

Nur über die Libpq.dll komme ich auf der Win98-Büchse nicht dran.

Kurios: Auf anderen Win98-Dosen geht es.

Gruß
Manfred
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

wenn ich mich recht erinnere ist der PostGreSQL Zugriff mit Phils DLL direkt und nicht über ODBC.

Was mich stutzig macht sind die Funktionsnamen im Stack.

...
Meldung(...)
Main(...)

sieh dir mal genau die Zeilen an die da genannt sind, besser kopiere diese raus und hier rein. Ist die PostGreSQL Installation genau gleich ?
Irgendwelche DLL von denen werden ja sicher benötigt. Kopiere diese doch mal in das Programmverzeichnis.
Gruß
Hubert
kuhno
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Sa, 07. Jan 2006 17:30
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von kuhno »

Hallo Hubert,

die Postgresserver sind identisch. IPAdressen im PGserver freigegeben.

Mein XP-Entwicklungssystem hat darauf zugriff. Dateien auf Win98-Rechner im gleichen Netz kopiert. --> Fehler.

Die Fehlermeldung kommt aus dem ersten Aufruf der Postgresverbindung. Mit den gleichen Einstellungen funzt es aber mit dem ODBC-Treiber (nicht aus dem Programm). Dieser Aufruf führt zu der DLL (PGconnectDB() ). In einem anderen Netz mit identischen Postgresserver habe ich vier Win98-Möhren zu laufen bekommen.

Das XBase-Handbuch sagt nicht viel über die Installation der DLLs. Es sieht so aus, als würde die DLL nicht gefunden, obwohl sie im Pfad liegt. Gibt es da noch andere Einstellungen, von denen ich nichts weis? :(

Gruß
Manfred
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hallo Manfred,

ist die libpq.dll auf dem widerspenstigen System eventuell beschädigt? Oder hat sie Abhängigkeiten zu weiteren DLLs, von denen eine fehlt oder eine unpassende Versionsnummer hat? Die Fehlermeldung oben besagt zwar, dass libpq.dll nicht geladen ist ... das kann aber mehrere mögliche Ursachen haben.

Viele Grüße,
Günter
kuhno
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Sa, 07. Jan 2006 17:30
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von kuhno »

Hallo,

herzlichen Dank an alle, die mir hier geantwortet haben.

Ich habe den Fehler selbst gefunden. Hier die Lösung.

Auf der Win XP-Maschine läuft eine libpq.dll mit der Versionsnummer 8.0.2.5098 . Damit ist alles OK. :)

Auf eine Win98-Mascine darf nur die Version 7.3.10.0 laufen. Mit dieser Version ist der Fehler weg. :D

Falsch Version installiert. :oops:

Gruß

Manfred
Antworten