Autor Beitrag
PascalFreundin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win 98-SE, XP-Prof.
D3 Prof.
BeitragVerfasst: 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.

ausblenden 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
{ Aus dem Objektinspektor
  FileType     : '3 - BMP_Bitmap';
  PageOptions : '4 - OverwritePages';
  ScanTo      : '2 - FileOnly';
}

  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{ tFormMain.ButtonScanClick }


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win 98-SE, XP-Prof.
D3 Prof.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win 98-SE, XP-Prof.
D3 Prof.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win 98-SE, XP-Prof.
D3 Prof.
BeitragVerfasst: 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:

ausblenden 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 
{ Aus dem Objektinspektor 
  FileType     : '3 - BMP_Bitmap'; 
  PageOptions : '4 - OverwritePages'; 
  ScanTo      : '2 - FileOnly'; 
}
 
  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{ tFormMain.ButtonScanClick }


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83

WIN XP
Delphi 4 Professionell
BeitragVerfasst: 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