Hallo,
ich versuche mich grad am Scannen mehrerer Seiten mit
TTwain. Das Scannen klappt,
wenn ich schon beim Erstellen des Formulars ein TImage anlege, dem dann das Scanresultat zugewiesen wird. Mein Ziel ist es aber, mehrere Dokumente einzuscannen und da ich nicht weiß, wieviel der User auf den Scanner gepackt hat, muss ich die TImages zur Laufzeit anlegen. Ich will die später dann mittels Thread komprimieren und Speichern.
Hier klappt es dann leider nicht mehr:
Delphi-Quellcode:
procedure TForm1.DelphiTwain1TwainAcquire(Sender: TObject;
const Index: Integer; Image: TBitmap; var Cancel: Boolean);
Var
T1 : TImage;
begin
// Und wieder eine Seite...
Inc(Zaehler);
// Image im Formular anlegen
If T1=nil Then
Begin
T1:=TImage.Create(Form1);
//T1:=TImage.Create(Form1);
T1.Left:=8;
T1.Top:=8;
T1.Width:=73;
T1.Height:=105;
T1.Stretch:=True;
T1.AutoSize:=False;
End;
//Copies the Image parameter to the TImage
T1.Picture.Assign(Image); -> Zugrissverletzung
//Image1.Picture.Assign(Image); -> So lief es
//We only want the first image
Cancel:=True;
end;
Ich bekomme immer eine
EAccessViolation. Wer kann mir sagen warum?
Gruß und Danke im Voraus, Alex