Seite 1 von 1

Scanner ansteuern

Verfasst: 22.06.2016 22:07
von Fordey_ra
Möchte einen Scanner ansteuern

Kann aber die TWScann.dll nicht einbinden

Liegt das daran das die TWScann.dll nur unter 32bit funktioniert ?

Code: Alles auswählen

   nr = OpenLibrary(#PB_Any, "C:\Temp\TwScann.dll") 
   If nr 
      MessageRequester("Info", "TwScann.dll gefunden!") 
    Else 
      MessageRequester("Info", "TwScann.dll nicht gefunden!") 
    End
   EndIf
 
Obwohl die .DLL eindeutig dort ist wird sie nie gefunden ?

Re: Scanner ansteuern

Verfasst: 22.06.2016 22:13
von ts-soft
Ein 64-Bit Programm kann grundsätzlich nur 64-Bit DLLs nutzen! Das gleiche gilt für 32-Bit Programme,
die können auch nur 32-Bit DLLs nutzen.

Re: Scanner ansteuern

Verfasst: 22.06.2016 22:20
von Fordey_ra
Wie kann ich denn unter PureBasic am einfachsten einen Scanner ansteuern.

Hatte das mit Irfanview gelöst über die Kommandozeilenbefehle.
Leider gibt unter 64 Bit Probleme mit dem convert Befehl (hängt sich auf)

Zu dem ist ja in der Firma nicht kostenlos.
Welches ich auch wohl bezahlen würde, aber da es nicht funktioniert macht es leider keinen Sinn.

Welche Möglichkeiten gibt es noch ?

Re: Scanner ansteuern

Verfasst: 22.06.2016 23:29
von Bisonte
ts-soft hat geschrieben:Ein 64-Bit Programm kann grundsätzlich nur 64-Bit DLLs nutzen! Das gleiche gilt für 32-Bit Programme,
die können auch nur 32-Bit DLLs nutzen.
Fordey_ra hat geschrieben:Hatte das mit Irfanview gelöst über die Kommandozeilenbefehle.
Leider gibt unter 64 Bit Probleme mit dem convert Befehl (hängt sich auf)
Damit ist nicht das Windows selbst gemeint, sondern das Programm, dass diese dll aufrufen soll.

Fazit : Wenn du eine 32Bit - DLL hast, kompilere das Programm mit dem PB x86 Compiler.
Einem 64Bit - Windows ist das (noch) egal....

Re: Scanner ansteuern

Verfasst: 23.06.2016 21:11
von Fordey_ra
Danke der Antworten.
Bin nicht draufgekommen mir ein 32Bit Windows Rechner zu suchen
Hier klappt das laden !

Nun der Code der natürlich nicht geht

Fehler Das angebene #Image ist nicht intialisiert

Code: Alles auswählen

OpenLibrary(0,"TwScann.dll")

CallFunction(0,"ScanToClip",1)

If GetClipboardImage(#CF_BITMAP)
  
  SaveImage(GetClipboardImage(#CF_BITMAP),Name$,#PB_ImagePlugin_JPEG)
  
EndIf  

CloseLibrary(0)


Re: Scanner ansteuern

Verfasst: 23.06.2016 21:44
von ts-soft
Fordey_ra hat geschrieben:Bin nicht draufgekommen mir ein 32Bit Windows Rechner zu suchen
Das sollst Du ja auch nicht, Dein 64-Bit Windows kann genauso gut 32-Bit Anwendungen ausführen. Lediglich Treiber müssen auch in 64-Bit vorliegen. Bei der Scanner DLL handelt es sich aber nicht um einen nativen Treiber, geht also!

Du musst nur die 32-Bit Version von PB installieren (geht parallel zur 64-Bit Version) und nutzen!

Re: Scanner ansteuern

Verfasst: 23.06.2016 21:52
von mk-soft
Vielleicht besser so...

Code: Alles auswählen

Define ClipImage
ClipImage = GetClipboardImage(#PB_Any)
If ClipImage  
  SaveImage(ClipImage,Name$,#PB_ImagePlugin_JPEG)
  FreeImage(ClipImage)
EndIf  

Re: Scanner ansteuern

Verfasst: 23.06.2016 21:59
von Fordey_ra
Wie einfach die Welt doch seien kann.

Vielen vielen Dank der Hilfe. :)

Das klappt ja perfekt :allright: