Autor |
Beitrag |
PascalFreundin
      
Beiträge: 25
Win 98-SE, XP-Prof.
D3 Prof.
|
Verfasst: Di 18.11.03 13:59
Ich möchte von meinem Programm aus direkt den Scanner ansprechen. Dazu habe ich in diesem Forum hier folgenden Link www.swissdelphicente.../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.
Zuletzt bearbeitet von PascalFreundin am Mi 10.12.03 16:38, insgesamt 1-mal bearbeitet
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
      
Beiträge: 25
Win 98-SE, XP-Prof.
D3 Prof.
|
Verfasst: 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
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: 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
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
PascalFreundin 
      
Beiträge: 25
Win 98-SE, XP-Prof.
D3 Prof.
|
Verfasst: 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
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: 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
_________________ "Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
|
|
PascalFreundin 
      
Beiträge: 25
Win 98-SE, XP-Prof.
D3 Prof.
|
Verfasst: 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. 
|
|
Zemke
      
Beiträge: 83
WIN XP
Delphi 4 Professionell
|
Verfasst: 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
|
|