Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi "Vorgang kann nicht erzeugt werden" (https://www.delphipraxis.net/30879-vorgang-kann-nicht-erzeugt-werden.html)

Neutral General 30. Sep 2004 15:50


"Vorgang kann nicht erzeugt werden"
 
Ich versuche Farben in ein Zweidimensionales Array zu speichern aber dann kommt immer diese Fehlermeldung, wenn ich das Projekt complimieren will...

Delphi-Quellcode:
Pixel : Array[0..23100,0..23100] of TColor;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,j : Integer;
begin
  for j:= 0 to Image1.Height-1 do begin
   for i:= 1 to Image1.Width-1 do begin
    Form1.Canvas.Pixels[i,j] := Image1.Canvas.Pixels[i,j];
    Pixel[i,j] := Image1.Canvas.Pixels[i,j]; // wenn ich das weglasse läuft das Programm...
   end;
  end;
end;
Weis jemand was diese Meldung zu bedeuten hat und/oder was ich falsch mache ?

Dax 30. Sep 2004 15:51

Re: "Vorgang kann nicht erzeugt werden"
 
Vielleicht ist dein Array einfach zu groß.

Neutral General 30. Sep 2004 15:56

Re: "Vorgang kann nicht erzeugt werden"
 
ja aber wenn ich

Delphi-Quellcode:
Pixel : Array[0..800000,0..800000] of TColor;
schreibe dann kommt : "Datentyp zu groß: 2GB überschritten" und zwar schon als Fehlermeldung wenn ich versuche zu complimieren ... "Vorgang kann nicht erzeugt werden" kommt ja erst wenn ich versuche das Programm zu starte.

Außerdem ist das ja im ButtonClick ereignis also muss der doch (noch) gar nix mit dem Array machen... :gruebel:

[edit]ok ich hab das Array kleiner gemacht und es funktioniert jetzt aber warum das anders nicht funktioniert versteh ich trotzdem nicht ... :gruebel: [/edit]

Christian Seehase 30. Sep 2004 16:05

Re: "Vorgang kann nicht erzeugt werden"
 
Moin Neutral General,

das könnte daran liegen, dass das ursprüngliche Array hart an der 2GB Grenze vorbeischrammt, so dass der Compiler nichts zu meckern hat, der vom Programm dann aber zu belegende Platz zu gross wird.

Neutral General 30. Sep 2004 16:08

Re: "Vorgang kann nicht erzeugt werden"
 
Ja das könnte sein ...
23100*23100 ist nämlich das höchste was geht bevor die 2GB Meldung kommt :mrgreen:

Luckie 30. Sep 2004 16:19

Re: "Vorgang kann nicht erzeugt werden"
 
Pack das ganze mal in einen ry-except Block und schreib:
Delphi-Quellcode:
try
  ...;
except
  on E: Exception do ShowMessage(E.Message);
end;
Ich könnte mir vorstellen, dass da eine EOutOfResource Exception kommt oder so was.


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