Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
4. Mär 2011
Na gut, na gut. Das habe ich nun gemacht.
Das verstehe ich nicht ganz. Vom Grundsatz her ist mir das klar. Aber der Thread wird doch erst erzeugt und gestartet, wenn man auf den Button "Scannen" klickt. Da ist doch das Formular bereits erzeugt worden, oder wo ist mein Denkfehler.
Es läuft jetzt übrigens auf einem Testrechner seit mehr als 2 Stunden problemlos. Sorgen bereitet mir nur,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
2. Mär 2011
Ich bin wieder ein Stück weiter!
Die von mir zur Steuerung des Scanners verwendete Komponente TDelphiTwain liefert die Bilder immer per Ereignis an das Hauptprogramm. Ich habe dieses Verhalten nun nachgebaut, indem ich die Bilder nicht wie bisher mittels Schleife an den Thread übergebe, sondern per TTimer.OnTimer;. Dieses hängt nun - einem sehr schnellen Scanner gleich - aller 250 ms ein...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
2. Mär 2011
Erstmal danke fürs Drüberschauen!
Das kommt noch. Ich hatte es bereits drin, wollte aber wirklich jede mögliche Fehlerquelle für das beschriebene Phänomen ausschließen.
Eben!
Auf meinem Rechner braucht er allein für das Umwandeln in png ca. 1 Sek/Bild. Er sollte an diese Stelle daher bereits genug zu tun haben, um noch während des Anfügens (Append();)weiterer Bilder die bereits vorhandenen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
1. Mär 2011
Danke für Eure vielen Hinweise!
Ich habe mal angefangen und das Ergebnis sieht schon ganz gut aus. Auf mehrere Threads habe ich verzichtet, da wir hier in absehbarer Zeit sowieso vermutlich nie Rechner mit mehreren Kernen haben werden und es so einfacher zu strukturieren war. Ich habe meinen Code mal als Datei angehängt und würde mich freuen, wenn jemand noch gute Hinweise hat. Canvas muss...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
28. Feb 2011
Wie jetzt? Auch bei der puren Übergabe an den Thread? Ich zeichne nichts auf das Canvas innerhalb eines Thread.
Procedure TScan.TwainTwainAcquire(Sender: TObject;
Const Index: Integer; Image: TBitmap; Var Cancel: Boolean);
Begin
End;Mit dieser Procedure kommt das Bild an. Image wird automatisch verworfen/überschrieben oder sonstwas, wenn die Procedure wieder beendet wird. Ich starte meinen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
28. Feb 2011
Danke für die Antwort.
Könntest Du das bitte genauer erklären?
Wenn ich das - bis jetzt - richtig verstanden habe, dann wäre mein Anfang schon falsch,
Constructor TSaveThread.Create(Bitmap: TBitmap; FileName: String;
Compression: Integer; Resize: Boolean; DPI: Integer; Tolerance: Integer);
Begin
Inherited Create(True);
FBitmap:=TBitmap.Create; // <- Blödsinn???
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Schwedenbitter,
28. Feb 2011
Liebe Mitlesende,
ich stehe vor folgendem Problem und dabei ein bisschen auf dem Schlauch:
Gegeben ist ein Programm, dass über TDelphiTwain einen Seitenscanner ansteuert und pro Scan-Auftrag etwa 25 DIN-A4-Seiten als TBitmap geliefert bekommt. Der Scanner schafft ca. 45 Seiten/min.
Die TBitmaps werden zunächst jeweils in einer TObjectList abgelegt. Erst wenn das letzte Bild gescannt wurde,...