Scannen...

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
monta
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...

Beitrag von monta »

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.
Johannes

Christian
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:

Beitrag von Christian »

Nö, ich hab im Windows erstmal DelphiTwain genommen für Linux hab ich noch was liegen bin aber noch nicht dazu gekommen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

Dann werd ich mir das mal reinziehen
Johannes

monta
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:

Beitrag von monta »

Wie hast du das denn zum Laufen bekommen?

Irgendwie hagelt es bei mir an allen Ecken Fehlermeldungen.
Bzw. hast du zufällig nen kleines Beispiel?
Johannes

Christian
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:

Beitrag von Christian »

hast dus mal mit

{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}

probiert ? ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

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:

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

Christian
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:

Beitrag von Christian »

Wo bleibts denn in der procedure LoadLibrary hängen ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

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:

Code: Alles auswählen

Ausführung Angehalten
Adresse: $7C91EAF0
Procedure: ntdll!LdrDisableThreadCalloutsForDll
Datei: leer
(Am Twaintreiber selber liegts wohl nicht, die fertige Exe, welche im Beispiel enthalten ist, ruft problemlos meine Scantreiber auf.)
Johannes

Christian
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:

Beitrag von Christian »

Das schaut aber eher nach dem bekannten GDB Problemen aus hast dus mal ohne Debugger probiert ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

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:

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
//Hab das beispiel mal angehängt
Johannes

Christian
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:

Beitrag von Christian »

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 ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

ich benutz 7Zip als Standard, daher ;)

an Zeile 751 steht genau das von oben:

Code: Alles auswählen

if (not LibraryLoaded) then //<<<<<<<<<<<<<<<<<<
Johannes

Christian
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:

Beitrag von Christian »

ACH SOOOO, Also pluto. Wenn ein Objekt noch nicht erstellt ist kann man nicht darauf zugreifen ;) LibraryLoaded ist ein property von Tirgendwas und tirgendwas hat eine private variable die heisst fLibraryLoaded diese belegt speicher ... :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
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:

Beitrag von monta »

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 :cry:
Johannes

Christian
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:

Beitrag von Christian »

Hrhr naja is doch nich so wild bin auch erst drauf gekommen als ich im code gesehn hab das es ne Komponente ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten