dde GetLastError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
EntonH
User
Beiträge: 8
Registriert: Mittwoch 20. Februar 2008, 10:32

Hallo,

ich möchte eine dde - Anwendung entwickeln und wollte die dde-Funktion GetLastError() benutzen, um mir einen Fehler ausgeben zu lassen.
Leider liefert die Funktion nur int Werte?!
Gibt es eine Möglichkeit diese auszuwerten bzw. gleich textuell übersetzen zu lassen? (Gibt es dafür eine Art Tabelle, in der die Fehlernummern Fehlertexten zugeordnet sind?)

Vielen Dank im Voraus! :)

Viele Grüße
EntonH
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Wie heißt dein Modul? Woher hast du es? Woher kommt die Methode getLastError()?
lunar

DDE hört sich nach WinAPI an, dort gäbe es die Funktion FormatMessage, die solche Werte in entsprechende Fehlermeldungen umwandeln kann.
EntonH
User
Beiträge: 8
Registriert: Mittwoch 20. Februar 2008, 10:32

Hallo,

es handelt sich um das Modul dde ("A module for DDE support
").
Die Funktion GetLastError() würde ich dann wie folgt aufrufen:

"PyDDEServer.GetLastError
int = GetLastError()"

Diese liefert allerdings nur einen int zurück...

Wie kann ich diesen dann auswerten bzw. ist irgendwo hinterlegt, welche Fehlernummer welchem Text entspricht?

Viele Grüße
EntonH
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Also da wäre mal ein Link zu der Lib nicht schlecht. Allerdings setze ich mal voraus, dass Du dort schon gesucht hast?

Wenn nur ein Int zurückgegeben wird denke ich mal, dass es da keine Textmessages gibt. Also müßtest Du im Netz einfach mal nach eienr Code-tabelle suchen und das dann mit eigenen Exception o.ä. selber implementieren!
lunar

DDE = Dynamic Data Exchange?

In diesem Fall wäre das tatsächlich eine Windows-API-Bibliothek (worauf auch der Name GetLastError hindeutet). Die Funktion FormatMessage sollte diesen Code in eine entsprechende Fehlermeldung verwandeln (das habe ich dir aber schon gesagt). Eventuell brauchst du dafür noch pywin32.
Antworten