![]() |
TImage EAccessViolation
Hallo,
ich versuche mich grad am Scannen mehrerer Seiten mit ![]() Hier klappt es dann leider nicht mehr:
Delphi-Quellcode:
Ich bekomme immer eine EAccessViolation. Wer kann mir sagen warum?
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; Gruß und Danke im Voraus, Alex |
Re: TImage EAccessViolation
Delphi-Quellcode:
T1.Parent := Form1;
|
Re: TImage EAccessViolation
Danke erstmal für die Antwort.
Zitat:
Delphi-Quellcode:
Ich glaube auch, dass das keine Rolle spielen sollte, da ich dem TImage mit TImage.Create(Form1); explizit sage, dass er zu Form1 gehört...
Inc(Zaehler);
// Image im Formular anlegen If T1=nil Then Begin T1:=TImage.Create(Form1); T1.Parent:=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); |
Re: TImage EAccessViolation
Und bei
Delphi-Quellcode:
?
T1.Picture.Bitmap.Assign(Image);
|
Re: TImage EAccessViolation
Hallo DeddyH
Zitat:
Delphi-Quellcode:
schließlich auch ohne .Bitmap.
Image1.Picture.Assign(Image);
Nur weil ich TImage zur Laufzeit anlege, dürften doch keine anderen Befehle notwendig werden, oder? :gruebel: |
Re: TImage EAccessViolation
Kann es evtl. sein, dass das Image gar nicht erzeugt wird? Ich verstehe eh nicht, wieso Du eine lokale Variable auf nil prüfst, es muss ja sowieso erzeugt werden.
|
Re: TImage EAccessViolation
Zitat:
Thread 1 - Neues TImage anlegen - Ergebnis des Scanners reinschreiben Ende Thread 2 - Schauen ob TImage(s) vorhanden sind - Nach png wandeln - Abspeichern - betreffendes TImage löschen Ende Dazu muss ich zur Laufzeit TImage anlegen, weil ich nicht wissen kann, wieviel Seiten der Benutzer auf den Scanner gepackt hat. |
Re: TImage EAccessViolation
Aber dann ist der Ansatz mit einer lokalen Variablen falsch. Falls Du ggf. mehrere dynamisch erzeugt Images brauchst, könntest Du ja beispielsweise eine TObjectList verwenden.
|
Re: TImage EAccessViolation
Danke!
Zitat:
Zitat:
![]() Gruß, Alex |
Re: TImage EAccessViolation
Ich habe gerade unter Delphi 5 nachgesehen, da gibt es TObjectlist bereits.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz