AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TGPGraphics.DrawImage
Thema durchsuchen
Ansicht
Themen-Optionen

TGPGraphics.DrawImage

Ein Thema von Satyr · begonnen am 15. Sep 2012 · letzter Beitrag vom 15. Sep 2012
Antwort Antwort
Seite 1 von 2  1 2      
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

TGPGraphics.DrawImage

  Alt 15. Sep 2012, 15:54
Huhu,

ich habe ein Problem in der TGPGraphics.DrawImage function. Zumindest glaube ich das es dort ist.
Ich nutze einige grafische Komponenten in meinem Programm. Von TMS, BuisnessSkinform, Jedis usw...
Seit neustem bekomme ich beim beenden meines Programms folgende Fehlermeldung:


---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Access violation at address 00579FFE in module 'Project.exe'. Read of address 03992DE4' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------


Wenn ich dann Anhalte und mir von Delphi die verantwortliche Stelle zeigen lasse, werde ich zu:

Delphi-Quellcode:
function TGPGraphics.DrawImage(image: TGPImage; x, y: Integer): TStatus;
var
  nImage: GpImage;
begin
  if Assigned(Image) then
    nImage := Image.nativeImage // <- das markiert Delphi extra
  else
    nImage := nil;

  Result := SetStatus(GdipDrawImageI(nativeGraphics, nimage, x, y));
end;
der unit AdvGDIP geleited.
Aber wie weiter? Es bleibt wohl was im Speicher hängen, wenn ich das richtig interpretiere. Aber wie finde ich heraus was? Also von welcher Komponente?

Im Programm selbst läuft alles wie es soll. Erst beim Beenden kommt das Problem.
Gibt es einen Befehl einfach restlos alles vom Programm im Speicher zu entfernen?

Gruß,
Andreas
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:03
Du versuchst auf Image zuzugreifen währen dieses schon freigegeben wurde. ??

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:09
Ist das korrenspondierende TGPGraphics- Objekt vielleicht schon freigegeben worden ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:09
Ist das korrenspondierende TGPGraphics- Objekt vielleicht schon freigegeben worden ...
Meine ich doch

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:11
Dann schreibs doch
ich hatte es schon vermutete, Du kennst die Units ja eh sicher auswendig.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:16
Das ist ja das Problem... ich weiß nicht welches Objekt das verursacht...
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:20
Das ist ja das Problem... ich weiß nicht welches Objekt das verursacht...
Du mußt doch sehen können ob TGPGraphics noch gültig ist. Oder?
bzw.. (Bummi) das Objekt welches mit TGPGraphics korrenspondiert

gruss

Geändert von EWeiss (15. Sep 2012 um 16:29 Uhr)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:31
Woran sehe ich das?
Ich hab mehrere Objekte die das nutzen. Alle manuell auskommentieren, wäre arg aufwändig (Handelt sich um ne Art Kalender mit dynamisch erzeugten Grafiken für Events).
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:35
Woran sehe ich das?
Ich hab mehrere Objekte die das nutzen. Alle manuell auskommentieren, wäre arg aufwändig (Handelt sich um ne Art Kalender mit dynamisch erzeugten Grafiken für Events).
BlaBLa := TGPGraphics.create..

Ist BlaBLa nun nil oder nicht? Wenn du die anwendung beendest.
Danach darfst du nicht mehr auf DrawImage zugreifen.

image scheint zu dem Zeitpunkt auch noch nicht freigegeben worden zu sein.


gruss

Geändert von EWeiss (15. Sep 2012 um 16:37 Uhr)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: TGPGraphics.DrawImage

  Alt 15. Sep 2012, 16:43
Wenn ich das wüsste...
TGPGraphics.create wird von irgend einer Komponente aufgerufen. Oder auch von mehreren, ich weiß es nicht, weil ich selbst nur auf die Komponenten zugreife.
Also zum Beispiel so in der Art:

Delphi-Quellcode:
with AdvSmoothTimeLine1.TimeLineIndicators.Add do
        begin
          Shape := isPicture;
          Position := StrToDate(ASQLite3Query3.FieldByName('datum').AsString);
          hint := ASQLite3Query3.FieldByName('name').AsString;
           if FileExists(form1.programmdirectory.Caption+'\..\img\timeline\hs.png') then Picture.LoadFromFile(form1.programmdirectory.Caption+'\..\img\timeline\hs.png')
end;
Und das für mhrere Komponenten (verschiedene Kalenderansichten). Irgendeine davon greift auf TGPGraphics zurück... warscheinlich sogar alle. Ich weiß aber leider nicht welche die Exception auslöst.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz