Scanner ansteuern

Anfängerfragen zum Programmieren mit PureBasic.
Fordey_ra
Beiträge: 71
Registriert: 17.08.2010 22:30

Scanner ansteuern

Beitrag 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 ?
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: Scanner ansteuern

Beitrag 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.
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
Fordey_ra
Beiträge: 71
Registriert: 17.08.2010 22:30

Re: Scanner ansteuern

Beitrag 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 ?
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Scanner ansteuern

Beitrag 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....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Fordey_ra
Beiträge: 71
Registriert: 17.08.2010 22:30

Re: Scanner ansteuern

Beitrag 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)

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: Scanner ansteuern

Beitrag 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!
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
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Scanner ansteuern

Beitrag 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  
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Fordey_ra
Beiträge: 71
Registriert: 17.08.2010 22:30

Re: Scanner ansteuern

Beitrag von Fordey_ra »

Wie einfach die Welt doch seien kann.

Vielen vielen Dank der Hilfe. :)

Das klappt ja perfekt :allright:
Antworten