HRESULT auswerten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: HRESULT auswerten

Beitrag von ts-soft »

also doch:

Code: Alles auswählen

Macro LoWord(long)
  long & $FFFF
EndMacro

hr = -2146827838

If LoWord(hr)
  MessageRequester("", "Fehler " + Str(LoWord(hr)))
Else
  MessageRequester ("", "Unbekannter Fehler")
EndIf 
:lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: HRESULT auswerten

Beitrag von Josh »

ts-soft hat geschrieben:also doch:

Code: Alles auswählen

If LoWord(hr)
leider auch nicht :cry:

an die stelle sollte eigentlich die abfrage nach $800A, die ich in meinem letzten posting mit der unschönen anweisung "If hr>>16 = -32758" gemacht hab. die -32758 kommen aus 65536 - $800A. da sollte es doch eigentlich eine elegantere lösung geben.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: HRESULT auswerten

Beitrag von ts-soft »

also HiWord?

Code: Alles auswählen

Macro HiWord(long)
  (long >> 16) & $FFFF
EndMacro
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: HRESULT auswerten

Beitrag von Josh »

ja, genau so wollte ich das haben

Code: Alles auswählen

hr = -2146827838

If hr>>16 & $FFFF = $800A
  MessageRequester("", "Fehler " + Str(hr & $FFFF))
Else
  MessageRequester ("", "Unbekannter Fehler")
EndIf
DANKE und fröhliches eiersuchen :)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: HRESULT auswerten

Beitrag von ts-soft »

danke Bild

Code: Alles auswählen

Macro HiWord(long)
  (long >> 16) & $FFFF
EndMacro

Macro LoWord(long)
  long & $FFFF
EndMacro

hr = -2146827838

If HiWord(hr) = $800A
  MessageRequester("", "Fehler " + Str(LoWord(hr)))
Else
  MessageRequester ("", "Unbekannter Fehler")
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: HRESULT auswerten

Beitrag von Josh »

Kaeru Gaman hat geschrieben:am ende läuft sich das sowieso tot, weil du dann doch S.T.RI.P. tust, und deine Frage irrelevant wird.
S.T.RI.P ??? bitt um aufklärung
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: HRESULT auswerten

Beitrag von Kaeru Gaman »

Solve The Right Problem - löse das richtige Problem.

... manchmal, wenn man etwas Abstand zur Problemstellung gewonnen hat, sieht man, dass der bisherige Weg totaler Quatsch war und man anders herum viel besser ans Ziel kommt.

das ist eine der zwei goldenen Regeln der Programmierung, und beide Kombinieren sich als Abkürzungen auch richtig witzig.

KISS and STRiP

Keep It Simple, Stupid, and Solve The Right Problem.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten