Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler: 'Zu wenig Arbeitsspeicher' (https://www.delphipraxis.net/165675-fehler-zu-wenig-arbeitsspeicher.html)

Lyan 10. Jan 2012 23:43

Delphi-Version: XE

Fehler: 'Zu wenig Arbeitsspeicher'
 
Hallo Delphianer,

bin zur Zeit an einem Problem, dass ich einfach nicht gelöst bekomme.
Ich versuche mit Hilfe der "Picshow"-Komponente (Infos dazu findet man hier: http://www.delphiarea.com/products/d...nents/picshow/ ), eine Slideshow zu programmieren.

Hat bis vor kurzem wunderbar funktioniert.

Erstmal kurze erklärung:

Mit der PicShow-Komponente möchte ich eine Art Diashow für Bilder erstellen, welche mit verschiedenen Effekten ineinander überschneiden sollen (überblenden etc.).

Die Effekte sind in der Unit "PSeffect" schon vorhanden, das heißt darum muss man sich auch nichtmals kümmern.

In meinem Tool sind in einem Stringrid die einzelnen Checkboxes der Effekte reihenweise aufgelistet.
Gedanke wo mein Problem auftaucht:

Man soll über einen Effekt drüberfahren und mittels des onmousenter-events, sollen die Effekte in einer Seperaten Picshowkomponente, die auf der selben Form 180x90 dargestellt werden.

Das man beim auswählen quasi sieht, welchen Effekt man grade auswählt, also eine bildliche darstellung der in Textformat beschriebenen Effekte.


Infos zum Projekt:
  • 2x TForm
  • Auf Form1 liegt die Picshow Komponente
  • Auf Form2 (Wo meine Einstellungen zu der Slideshow vorgenommen werden, liegt auch die Komponente TPicShow)

Problem ist: Wenn ich auf Form2 die PicShow-Komponente setze, wird beim compilen die Fehlermeldung angezeigt: "Zu wenig Arbeitsspeicher" und Delphi verweist mich zu den
Delphi-Quellcode:
uses (uses Picshow
.

Hat jemand Ideen dazu? Ich kann mir beim besten Willen nicht erklären wodurch diese Fehlermeldung ensteht, denn wenn ich eine zweite Picshow Komponente auf eine andere, neu erstellte Form lege, funktioniert es!


Mit freundlichen Grüßen,

Lyan


EDIT:// RAM ist im übrigen ausreichend vorhanden! Also die Fehlermeldung ensteht definitiv nicht aus dem richtigen Grund! Der RAM schießt beim start aufeinmal bis oben hin.

himitsu 11. Jan 2012 00:11

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
Zitat:

Zitat von Lyan (Beitrag 1145303)
EDIT:// RAM ist im übrigen ausreichend vorhanden! Also die Fehlermeldung ensteht definitiv nicht aus dem richtigen Grund! Der RAM schießt beim start aufeinmal bis oben hin.

RAM ist vollkommen unwichtig. (gibt ja auch noch die Auslagerungsdatei)

Delphi ist ein Win32-Programm, hat also maximal 2 GB virtuellen Speicher zur Verfügung.
Darin befinden sich auch noch alle geladenen BPLs, unzählige DLLs (alles inkl. dem Programmcode) und zusätzlich gibt es noch eine gewisse Speicherfragmentierung. (nicht alles kann genutzt werden)


Wo kommen denn die Bilder her? (werden die eventuell mit einkompiliert)
Bzw., sind Bilder geladen und wenn ja, wieviele sind geladen und wie groß sind diese?

SirThornberry 11. Jan 2012 12:29

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
Für mich klingt das danach das noch nicht alle Updates für XE2 eingespielt wurden. Denn mit einem der Updates wurde dieses Problem eigentlich behoben.

blubber443 17. Feb 2012 11:21

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
und wo gibts die updates(link)? hab auch das problem

himitsu 17. Feb 2012 11:21

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
Im EDN?

Du hast dich ja bestimmt bei Embarcadero registriert.
Dort loggt man sich ein und unter Downloads, genauer "Downloads für registrierte Benutzer" (ein rießiger unübersehbarer Link) ist alles zu finden. :roll:

haentschman 17. Feb 2012 11:38

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
Nur so als Info...

die Arbeitsspeicher Meldung kann diverse Ursachen haben.
Beispiel:
Ich hatte mal in einer abgeleiteten Klasse von TForm Top und Left nochmal deklariert.
Resultat: Compilieren kein Problem...Zu wenig Arbeitsspeicher 8-)

...also auch mal in der Richtung forschen.

jaenicke 17. Feb 2012 11:44

AW: Fehler: 'Zu wenig Arbeitsspeicher'
 
Zu wenig Arbeitsspeicher heißt meistens, dass du eine Kreuzbeziehung zwischen Units eingebaut hast. Erstelle das Projekt einfach einmal neu (Menü Projekt), dann sollte dir die konkrete Meldung angezeigt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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