AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

Ein Thema von DSCHUCH · begonnen am 21. Apr 2016 · letzter Beitrag vom 22. Apr 2016
Antwort Antwort
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

  Alt 21. Apr 2016, 20:35
Hallo,

ich untersuche gerade einige Performance-Effekte insb. mit dem DBNavigator. Dabei gab es bei mir irgendwann immer einen Crash Code 87. Ich konnte das jetzt auf ein Programm mit wenigen Zeilen reproduzierbar machen. Das ganze passiert in Delphi XE. Kann das mal bitte jemand validieren?

Neue Delphi-Anwendung (VCL Formular). Button drauf und einfach folgenden Click-Code. Achtung, das uses mitnehmen, kann ja direkt über die ClickProcedure.

Delphi-Quellcode:
uses ExtCtrls, DBCtrls, DB;

procedure TFormX.ButtonXClick(Sender: TObject);
var I, H : Integer;
    t : TTime;
begin
 Screen.Cursor:=crHourGlass;
try
 t:=Now;
 for I := 0 to 5000 do //crash ab 5000;;; SystemFehler: Code 87 ... auch mit 500, dann halt ca. 10 mal clicken.
     TBitmap.Create.LoadFromResourceName(HInstance, 'dbn_FIRST');
finally
 Screen.Cursor:=crDefault;
end;
 ShowMessage('Done:'+TimeToStr(Now-t));
end;
VG,
Daniel.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

  Alt 21. Apr 2016, 22:06
Sicher das das kein OutOfMemory Error ist? Du erzeugst 5001 Bitmaps, gibst diese aber nirgends wieder frei bzw. speicherst sie zwischen. Mach mal den Taskmanager auf und schau was mit deinem RAM passiert. Evtl. kommst du ja über die 2GB Grenze. Probiert habe ich das jetzt nicht, aber es würde mich nicht wundern wenn es so wäre.

Hast du mal nachgeschaut was "Error 87" für ein Error ist?
  Mit Zitat antworten Zitat
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

  Alt 22. Apr 2016, 00:33
Der Speicher gem. TaskMgr liegt bei <100 MB.

kA evtl hab ich auch nen Denkfehler.

Geändert von DSCHUCH (22. Apr 2016 um 00:45 Uhr)
  Mit Zitat antworten Zitat
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

  Alt 22. Apr 2016, 00:41
Auf 32 Bit wirft es "Systemressourcen erschöpft", ich schau mir das morgen nochmal an.

Geändert von DSCHUCH (22. Apr 2016 um 00:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: TBitmap.....LoadFromResourceName Führt zu SystemFehler 87 und Application Crash

  Alt 22. Apr 2016, 03:02
Auf 32 Bit wirft es "Systemressourcen erschöpft", ich schau mir das morgen nochmal an.
Das ist nicht der Arbeitsspeicher der voll läuft. Bei so vielen Bitmaps und dazugehörigen Canvas Instanzen wird die maximale Anzahl an GDI Objekten schlicht und einfach überschritten.

Dagegen kannst du leider nichts tun (außer nicht so viele gleichzeitig aktive Bitmap-Instanzen zu erzeugen )
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:05 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