Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TWAIN: tImgScan funktioniert nicht [gelöst]
PascalFreundin - Di 18.11.03 13:59
Titel: TWAIN: tImgScan funktioniert nicht [gelöst]
Ich möchte von meinem Programm aus direkt den Scanner ansprechen. Dazu habe ich in diesem Forum hier folgenden Link
http://www.swissdelphicenter.ch/de/showcode.php?id=971 gefunden und entsprechend der Beschreibung eingebaut.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TFormMain.ButtonScanClick(Sender: TObject); begin
If ImgScan1.ScannerAvailable then try ImgScan1.Image:= 'c:\Scanner.bmp'; ImgScan1.OpenScanner; ImgScan1.Zoom := 100; ImgScan1.StartScan; Application.ProcessMessages; finally ImgScan1.CloseScanner; Image1.Picture.LoadFromFile( ImgScan1.Image ); end; end; |
Leider gibt es direkt einen Laufzeitfehler (EOleSysError), sobald das Programm folgende Zeile erreicht.
If ImgScan1.ScannerAvailable
Kann mir jemand sagen, was ich falsch mache?
Danke im Voraus.
jaenicke - Mi 19.11.03 11:21
Titel: OLE Fehler
Hallo!
Nun, aufgrund des aufgetretenen Fehler-Typs "EOleSysError" handelt es sich bei dem Fehler wahrscheinlich um keinen Fehler, der direkt mit der Benutzung der Komponente in Delphi zu tun hat. Wahrscheinlich geht vielmehr etwas bei der Verbindung zum Scanner-Treiber o.ä. schief.
OLE ist nämlich (falls Du das nicht weißt) u.a. für die Kommunikation zwischen Anwendungen da. Das bedeutet, dass dein Programm darüber die Verbindung zu anderen Programmen, oder eben zu Laufzeitbibliotheken (sofern diese registriert sind) oder ähnlichem herstellen kann.
Das hieße, dass entweder der Treiber für den Scanner nicht richtig installiert ist, was wohl nicht der Fall ist, da Du ja wohl den Scanner unter Windows benutzen kannst, oder, dass etwas mit der benutzten ActiveX-Komponente nicht stimmt!
Um letzteres zu überprüfen, benutze mal zum Scannen ein anderes Programm, als das Imaging von Windows (falls Du das nicht bereits getan hast). Wenn ein anderes Programm nämlich die ActiveX-Datei benutzen kann, sollte diese ordnungsgemäß installiert sein.
Du könntest auch mal Imaging aus Windows entfernen und erneut installieren und dann auch das ActiveX-Control neu in Delphi importieren.
Ich werde mal selbst den Tip aus dem Link ausprobieren, muss dazu aber erst einen Rechner mit Win98 fertig machen, das dauert zwei oder drei Tage. Bis dahin erst mal viel Erfolg!
Ciao!
S.J.
PascalFreundin - Mi 19.11.03 15:37
=> jaenike
Danke für Deine Bemühungen. Da bleibt mir zunächst einmal nichts anderes übrig als abzuwarten ...
foxy - Do 20.11.03 03:56
Das prob hatte ich auch mal,
aber ich habe es damit gelöst einen anderen Treiber für den scanner zu verwenden
PascalFreundin - Do 20.11.03 11:16
=> foxy (Heiko): Verrätst Du mir bitte, wie GENAU Du das Problem gelöst hast? (Ausschnitt Sourcecode oder so.)
Danke
foxy - Do 20.11.03 14:28
An deinem source ist nix falsch
nur 1. überleg dir
wie alt ist dein scanner vielleicht zu alte treiber
(das war mein Problem)
2. Haste mal getestet ob der scanner auch Probs macht bei anderen Programmen?
3. Ich glaub mein Source müsste noch irgendwo auf den Board hier liegen benutze die suchfunktion
PascalFreundin - Do 27.11.03 16:28
Titel: TWAIN: tImgScan funktioniert jetzt!
So, nach ein bischen Hin- und Hergetüftel habe ich herausbekommen, wie ich den Scanner ansprechen kann:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TFormMain.ButtonScanClick(Sender: TObject); begin ImgScan1.Image:= 'c:\Scanner.bmp'; If ImgScan1.ScannerAvailable then try ImgScan1.OpenScanner; ImgScan1.Zoom := 100; ImgScan1.StartScan; Application.ProcessMessages; finally ImgScan1.CloseScanner; Image1.Picture.LoadFromFile( ImgScan1.Image ); end; end; |
Das Problem lag daran, daß ich
ImgScan1.ScannerAvailable aufgerufen hatte bevor
ImgScan1.Image zugewiesen war.
Danke an alle, die sich bemühten mir zu helfen.
Übrigens:
Mein Scanner ist schon "uralt" HP ScanJet 4C, die Software DeskScan II V. 2.9 von 1997 und alles funktioniert jetzt
WUNDERBAR. :lol:
Zemke - Do 25.03.04 13:30
Titel: Auflösung (DPI) einstellen
Hallo,
ich arbeite an dem gleichen Problem.
Wie kann vor dem Scanvorgang noch die Auflösung z. B. auf 150 DPI und das Dokument auf s/w-Scan
eingestellt werden?
Ich möchte sofort ohne vorherige Scannereinstellungen scannen.
Gruß
Rainer
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!