Scannen...
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Scannen...
Ich hab gerade gesucht, aber nichts gefunden. Gibt es für Lazarus ne Variante, einen Scanner anzusprechen und das entsprechende Bild in die eigene Anwendung rein zu laden?
Es gibt wohl, soweit ich mit meinr Suche gekommen bin, zwei Varianten. Einmal den standardmäßig installierten Scantrieber anzusprechen und zum anderen direkt den Scanner über xsane/TWAIN. Aber wie bzw. gitb es bereits Komponenten für Lazarus dafür?
Allerdings nehm ich mal an, das das Plattformunabhängig fast gar nicht zu machen ist, daher würde es vorerst auch für Windows langen...ich hoffe mal auf eure Anregungen.
Es gibt wohl, soweit ich mit meinr Suche gekommen bin, zwei Varianten. Einmal den standardmäßig installierten Scantrieber anzusprechen und zum anderen direkt den Scanner über xsane/TWAIN. Aber wie bzw. gitb es bereits Komponenten für Lazarus dafür?
Allerdings nehm ich mal an, das das Plattformunabhängig fast gar nicht zu machen ist, daher würde es vorerst auch für Windows langen...ich hoffe mal auf eure Anregungen.
Johannes
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
ja, hab ich
Aber bei der simplen Beispielanwendung die dabei ist, scheittert das ganze irgendwie am Laden der Library.
Die Anwendung wird kompiliert und gestartet, aber beim Versuch zu scannen kommt ne SIGSEV und er bleibt stehen.
Beim Fortsetzen wird das ganze beendet.
Der Fehler tritt dort auf:
Aber bei der simplen Beispielanwendung die dabei ist, scheittert das ganze irgendwie am Laden der Library.
Die Anwendung wird kompiliert und gestartet, aber beim Versuch zu scannen kommt ne SIGSEV und er bleibt stehen.
Beim Fortsetzen wird das ganze beendet.
Der Fehler tritt dort auf:
Code: Alles auswählen
{ TDelphiTwain component implementation }
{Loads twain library and returns if it loaded sucessfully}
function TDelphiTwain.LoadLibrary(): Boolean;
var
TwainDirectory: String;
begin
{The library must not be already loaded}
if (not LibraryLoaded) then //<<<<<<<<<<<<<<<<<<
Johannes
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
bei der letzten Zeile oben, also bei if (not LibraryLoaded) then
Dort kommt beim Schrittchenweisen Ausführen die Fehlermeldung. Zuerst ne SIGSEV und dann die Meldung:
(Am Twaintreiber selber liegts wohl nicht, die fertige Exe, welche im Beispiel enthalten ist, ruft problemlos meine Scantreiber auf.)
Dort kommt beim Schrittchenweisen Ausführen die Fehlermeldung. Zuerst ne SIGSEV und dann die Meldung:
Code: Alles auswählen
Ausführung Angehalten
Adresse: $7C91EAF0
Procedure: ntdll!LdrDisableThreadCalloutsForDll
Datei: leer
Johannes
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Jetzt versteh ich gar nichts mehr.
Ohne GDB:
Er kompiliert, dann sieht man kurz das Form ausblitzen und sofort danach Anmeldung beendet...
Wenn ich das ganze ohne IDE starte, kommt ne AV und in der Konsole:
//Hab das beispiel mal angehängt
Ohne GDB:
Er kompiliert, dann sieht man kurz das Form ausblitzen und sofort danach Anmeldung beendet...
Wenn ich das ganze ohne IDE starte, kommt ne AV und in der Konsole:
Code: Alles auswählen
[TCustomForm.WMSize] Form1:TForm1 Message.SizeType=128 Message.Width=551 Message
.Height=415
[TCustomForm.WMSize] saving restored bounds Form1:TForm1 551x415
[TCustomForm.WMSize] Form1:TForm1 Message.SizeType=128 Message.Width=551 Message
.Height=415
[TCustomForm.WMSize] saving restored bounds Form1:TForm1 551x415
TApplication.HandleException Access violation
Stack trace:
$004B94BB TDELPHITWAIN__LOADLIBRARY, line 751 of C:/Dokumente und Einstellun
gen/Wolf/Desktop/delphitwain/DelphiTwain.pas
$00418242 TFORM1__GOACQUIRECLICK, line 39 of SimpleExampleForm.pas
$0045F479 TCONTROL__CLICK, line 1971 of ./include/control.inc
$0049358F TBUTTONCONTROL__CLICK, line 57 of ./include/buttoncontrol.inc
$0048B665 TCUSTOMBUTTON__CLICK, line 184 of ./include/buttons.inc
$0048BA71 TBUTTON__CLICK, line 304 of ./include/buttons.inc
$0048B81A TCUSTOMBUTTON__WMDEFAULTCLICKED, line 239 of ./include/buttons.inc
$00407959
$00456B49 TWINCONTROL__WNDPROC, line 3478 of ./include/wincontrol.inc
$004ABD4B DELIVERMESSAGE, line 574 of Win32Proc.pp
$0049DCEE WINDOWPROC, line 2077 of win32callback.inc
$7E368734
$7E368816
$7E36B89B
$7E36B903
$7E39FD1D
$7E396561
[TCustomForm.WMSize] :TPromptDialog Message.SizeType=128 Message.Width=200 Messa
ge.Height=100
[TCustomForm.WMSize] saving restored bounds :TPromptDialog 200x100
[TCustomForm.WMSize] :TPromptDialog Message.SizeType=6 Message.Width=276 Message
.Height=130
[TCustomForm.WMSize] :TPromptDialog Message.SizeType=128 Message.Width=276 Messa
ge.Height=130
[TCustomForm.WMSize] saving restored bounds :TPromptDialog 276x130
Johannes
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Nur mal so nebenbei kannst du nicht Zip benutzen Linux ist das einzige BS was bei mir aus dem stand 7Z öffnen kann...
Was steht an Zeile 751 in der DelphiTwain.pas ich könnt bei mir gucken aber ich denk da hab ich vielleicht ne Leerzeile zuviel oder zuwenig und schon ...
Was steht an Zeile 751 in der DelphiTwain.pas ich könnt bei mir gucken aber ich denk da hab ich vielleicht ne Leerzeile zuviel oder zuwenig und schon ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
ich benutz 7Zip als Standard, daher 
an Zeile 751 steht genau das von oben:

an Zeile 751 steht genau das von oben:
Code: Alles auswählen
if (not LibraryLoaded) then //<<<<<<<<<<<<<<<<<<
Johannes
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
aber ich konnte die andere Unit nicht zirkulär einbinden 
Ich hab einfach fest der Demo vertraut und bin gar nicht auf denGedanken gekommen, ist ja peinlich. Aber ich weis jetzt wieso, weil DelphiTwain eigentlich ne Komponenten war, aber bei der Projektkonvertierung hat es die natürlich vom Formular gelöscht und drum passte das nicht

Ich hab einfach fest der Demo vertraut und bin gar nicht auf denGedanken gekommen, ist ja peinlich. Aber ich weis jetzt wieso, weil DelphiTwain eigentlich ne Komponenten war, aber bei der Projektkonvertierung hat es die natürlich vom Formular gelöscht und drum passte das nicht

Johannes