Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   G32: Seltsame Access Violation (https://www.delphipraxis.net/70619-g32-seltsame-access-violation.html)

fkerber 1. Jun 2006 17:04


G32: Seltsame Access Violation
 
Hi!

Ich habe ein Image32 auf meinem Form und "lade" zur Designtime ein Image rein. Wenn ich dann das Programm beende, passiert nichts, also alles wie gewollt.

Führe ich allerdings währende der Laufzeit folgendes aus,
Delphi-Quellcode:
Img_NewPic.Bitmap.LoadFromFile(OPD_NewPic.FileName);
also Laden eines per Dialog ausgewählten Bildes (was auch klappt), dann knallst beim Beenden

Zitat:

Exception EAccessViolation in module Rom.exe at 0009D23A.
Access violation at address 0049D23A in module 'Rom.exe'. Read of address 00AA7248.
Egal bei welchem Bild, selbst beim selben mit dem es klappt, wenns nur zu Designtime geladen wird...

Ich habe versucht herauszufinden, wo der Fehler auftritt, nachdem ich allerdings ca. 12 Units durchgesteppt hab und immer noch keinen Plan hab, was eigentlich schief läuft, wollte ich doch mal fragen, ob nicht irgendwer eine Idee hat...


Ciao Frederic

dizzy 2. Jun 2006 03:58

Re: G32: Seltsame Access Violation
 
Da arbeite ich schon so lange mit der G32, und bei diesem Beitrag fällt mir auf einmal auf: TImage32.Bitmap.LoadFromFile() habe ich bis dato nie so direkt eingesetzt :)
Ich bin bisher immer so vorgegangen, dass ich ein Bitmap in ein "loses" TBitmap32 via LoadFromFile() geladen habe, und dies dann (nach Setzten der Größe des Bitmaps im TImage32) via Draw, oder gleich mit Assign in das Image gebracht habe. Ab und an auch per direkter Zuweisung. (In alles Fällen schadet es btw. nicht TImage32.Changed aufzurufen.)
Das ist bei mir vermutlich so gekommen, da ich seltenst Bitmaps gänzlich unverändert dargestellt hab, oder die Möglichkeit der Bearbeitung durch das Offscreen-Bitmap offen halten wollte... Wie auch immer: Ich kann das direkte Laden wie von dir beschrieben grad nicht testen, aber mit einem "Zwischenbitmap" sollte es klappen. U.U. reicht auch nach dem Laden ein Aufruf von TImage32.Changed.

Nichtsdestotrotz wäre das ein doch recht unerwartetes Verhalten ;). Werds mal bei mir testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 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-2025 by Thomas Breitkreuz