Autor Beitrag
Fred Ferkel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mo 17.02.03 16:14 
:hi:

ich hab da ein kleines prob... hab da so "versucht" nen snake clon zu proggen.. funktionierte auch alles ganz gut bis, ja bis ich eine weitere funktion hinzugefügt habe und jetzt kommt immer irgendeine fehlermeldung, kein plan wieso denn stack overflows bin ich nur von rekusionen bzw. fehlerhaften rekusionen gewohnt naja jedenfalls wärs echt supi wenn einer von euch oder möglichst viele eben sich mal ansehen könnten woran es liegt, der einfachheit halber hab ich mal das ganze dingelchen geuppt und bitte bitte seht es euch an..ich verzweifle noch...sonst kann ich die fehler ja immern noch irgendwie finden aber es sieht echt alles ok aus...durch debuggen hab ich nix herausgefunden...das ist echt merkwürdig..*wunder*

fred_ferkel.tripod.com/snake.zip
fred_ferkel.tripod.com/snake.rar
und eine compo-sammlung die ich verwendet habe
fred_ferkel.tripod.com/05_-_flatstyle.rar
fred_ferkel.tripod.com/05_-_flatstyle.zip

mfg Sven aka the ferkel[/url]


Zuletzt bearbeitet von Fred Ferkel am Sa 22.02.03 02:12, insgesamt 3-mal bearbeitet
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mo 17.02.03 22:24 
ich habe delphi 5 und win2k
und was ich auch nicht sagte ist das man noch auf play klicken muss...

hab delphi sogar schon neu installiert aber naja..:(

sagt mal bitte auch dann bescheid wenn ihr keine ahung habt damit ich so den überblick hab ob sich überhaupt jemand um mein prob kümmert...;)

cya
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.02.03 22:54 
Win2k SP3. Nach Eingabe den Namens und Klick auf Play verabschiedet sich das Programm einfach.
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mo 17.02.03 23:09 
ja genauso bei mir..:(
hast du mal versucht zu debuggen?? bei mir krepiert er direkt am anfang der readlevel prozedur..:(
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.02.03 23:13 
Wenn das Ding ohne fremd Komponenten unter D6 personal laufen würde wäre das kein Problem. Aber ich habe keien Lust mir wegen diesen einem mal mir die Kompos zu installieren, weil ich weiß, dass ich sie nie wieder brauchen werde für eigene Anwendungen.
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mo 17.02.03 23:28 
achja irgendwie werden die highscores auch nicht so angeziegt wie ich mir das denke, die werden richtig geladen aber irgendwie springen die namen dann wieder auf ''...!? ohne das es dazu einen befehl gibt...

für die die keinen bock auf die kompo haben, hier mit den standard kompos:

fred_ferkel.tripod.com/snake_without.zip
fred_ferkel.tripod.com/snake_without.rar
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mo 17.02.03 23:39 
Hi,

also bei mir startet das Programm.. ich klick auf dieses SchlangenBild und dann hänger er wohl in ner EndlosSchleife fest... (Keine Fehlermeldung) werd es mir gleichmal anschauen :)

Au'revoir,
Aya

_________________
Aya
I aim for my endless dreams and I know they will come true!
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mo 17.02.03 23:43 
Soo....

erste sache... mach UNBEDINGT ein DoubleBuffered mit rein..

gleich als erstes im OnCreate:
ausblenden Quelltext
1:
DoubleBuffered:=True;					


Ansonsten konnte ich nich weitertesten... sobald ich ne Pfeiltaste drücke gibt's ne AccessViolation und ich hab nich gefunden wo du auf die Tastendrücke reagierst.. :)

Au'revoir,
Aya

_________________
Aya
I aim for my endless dreams and I know they will come true!
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 00:17 
hi

thx bei mir kommt zumindest imernoch an derselben stelle der fehler (die stelle ist bei den versionen mit/ohne die komponentensammlung zwar unterschiedlich aber naj egal) die tasteneingeben verarbeite ich in der funktion
ausblenden Quelltext
1:
function getkeycommands(var won,lost,quit:boolean):boolean;					

tut mir echt leid das es so unübersichtlich ist... ich hatte die units wieder zusammengelegt um da irgendwelche fehler auszuschließen aber naja... trotzdem danke erstmal!!

cya

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 18.02.03 00:33 
Wenn ich die SplashScreen rausnehme bekomme ich keine AccessViloation, aber ich sehe dann nur einen baby-blauen Bildschirm.
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 06:29 
hi

hm und die buttons sind dann auch nicht da?? ich bekomme auch dann noch die accessviolation am anfang der loadlevelprocedur..:( aber erklär mal bitte wie dus gemacht hast

mfg Sven

ps: wenn cih die loadlevelprozedur rausnehme dann krepelt er in der paintblocksprozedur ab und wenn ich die rausnehme dann in der depaintsnake-prozedur... und bei keinem der fehler erkenne ich den grund denn wieso kann es bei den 3anweisungen an den anfängen der 3 obigen prozeduren zu soclhen exceptions kommen?
ausblenden Quelltext
1:
2:
3:
  ini:=Tinifile.create(extractfilepath(application.exename)+'level.dat');
  form1.image1.canvas.brush.color:=clnavy;
  form1.image1.canvas.pen.color:=rgb(118,176,248);


Moderiert von user profile iconTino: Code-Tags hinzugefügt.
sorry fürs verplanen der tags
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 19:32 
hi
ich habe jetzt soviel gelöscht wie möglich ohne den fehler zu eliminieren
jetzt müsste es einfacher sein herauszufidnen woran es liegt..aber ich hab keine ahnung...
die datei pak0.pak ist acuh in den files oben dabei.^. :!:

mfg sven
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    B_play: TButton;
    Image1: TImage;
    procedure B_playClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  form1:Tform1;
  pakim:array[0..18]of TBitmap;
  snakepoints:array of Tpoint;
  snakeheaddir:integer;
  gamepoints:integer;
  gottarget:integer=0;

const
  snakewidth:integer=21;
  snakestep:integer=1;
  speedvar:extended=0.005;   //1=0.005 3=0.015 7=0.035 21=0.105

function getkeycommands(var won,lost,quit:boolean):boolean;

implementation

{$R *.DFM}

procedure loaddximagelist;
var
  ms:Tmemorystream;
  buffer:array[0..1023]of char;
  bmpname:string;
  filenumber,i,currentfilepos,bmpsize,numread:integer;
  f:file;
begin
  currentfilepos:=0;
  assignfile(f,extractfilepath(application.exename)+'pak0.pak');
  reset(f,1);
  seek(f,9);
  blockread(f,filenumber,4);
  for i:=0 to filenumber-1 do
    begin
      ms:=Tmemorystream.create;
      seek(f,13+i*24);
      zeromemory(@buffer,sizeof(buffer));

      blockread(f,bmpsize,4);
      blockread(f,buffer,20);
      bmpname:=buffer;
      seek(f,13+filenumber*24+currentfilepos);
      ms.SetSize(bmpsize);

      currentfilepos:=currentfilepos+bmpsize;
      numread:=0;
      repeat
        bmpsize:=bmpsize-numread;
        if bmpsize>=sizeof(buffer)
          then blockread(f,buffer,sizeof(buffer),numread)
          else blockread(f,buffer,bmpsize,numread);
        ms.writebuffer(buffer,numread);
     until numread=0;
     ms.Position := 0;
     pakim[i]:=Tbitmap.create;
     pakim[i].LoadFromStream(ms);
     freeandnil(ms);
   end;
   closefile(f);
end;

function getkeycommands(var won,lost,quit:boolean):boolean;
var
  i:integer;
begin
  result:=false;
  if getasynckeystate(VK_ESCAPE)<0 then
           quit:=true
    else
      begin
        if (getasynckeystate(VK_LEFT)<0)and((snakeheaddir=1)or(snakeheaddir=2)) then
          begin
            snakeheaddir:=4;
            result:=true;
            setlength(snakepoints,length(snakepoints)+1);
            for i:=high(snakepoints)-1 downto 0 do
              snakepoints[i+1]:=snakepoints[i];
          end
          else if (getasynckeystate(VK_RIGHT)<0)and((snakeheaddir=1)or(snakeheaddir=2)) then
          begin
            snakeheaddir:=3;
            result:=true;
            setlength(snakepoints,length(snakepoints)+1);
            for i:=high(snakepoints)-1 downto 0 do
              snakepoints[i+1]:=snakepoints[i];
          end
          else if (getasynckeystate(VK_UP)<0)and((snakeheaddir=3)or(snakeheaddir=4)) then
          begin
            snakeheaddir:=1;
            result:=true;
            setlength(snakepoints,length(snakepoints)+1);
            for i:=high(snakepoints)-1 downto 0 do
              snakepoints[i+1]:=snakepoints[i];
          end
          else if (getasynckeystate(VK_DOWN)<0)and((snakeheaddir=3)or(snakeheaddir=4)) then
          begin
            snakeheaddir:=2;
            result:=true;
            setlength(snakepoints,length(snakepoints)+1);
            for i:=high(snakepoints)-1 downto 0 do
              snakepoints[i+1]:=snakepoints[i];
          end;
      end;
end;

procedure TForm1.B_playClick(Sender: TObject);
var
  lost,won,quit:boolean;
  keyblock:integer;
begin
  keyblock:=0;
  B_play.visible:=false;

  lost:=false;
  won:=false;
  quit:=false;
  setlength(snakepoints,2);
  snakeheaddir:=3;
  snakepoints[0]:=point(200,100);
  snakepoints[1]:=point(137,100);
  snakepoints[2]:=point(137,130);
  gamepoints:=0;
//  bitblt(form1.image1.canvas.handle,0,0,21,21,pakim[18].canvas.handle,0,0,SRCCOPY);
  form1.image1.canvas.Draw(100,100,pakim[18]);
      while not((won)or(lost)or(quit))do
        begin
          if keyblock=0 then
            if getkeycommands(won,lost,quit)then keyblock:=snakewidth;
          if keyblock>0 then dec(keyblock,snakestep);
          image1.repaint;
        end;
  b_play.visible:=true;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  i:integer;
begin
  for i:=0 to 18 do
    if pakim[i]<>nil then freeandnil(pakim[i]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
loaddximagelist;
end;

end.


Zuletzt bearbeitet von Fred Ferkel am Di 18.02.03 19:54, insgesamt 1-mal bearbeitet
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Di 18.02.03 19:35 
Hi,

ich könnte mir vorstellen das es daran liegt das du getkeycommands in einer While-Schleife aufrufst...

denn dadurch wird auch der Array snakepoints in ner WhileSchleife erhöht wenn man ne Taste drückt... eventuell geht ihm das zu schnell = StackOverflow...

Au'revoir,
Aya

_________________
Aya
I aim for my endless dreams and I know they will come true!
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 20:02 
hm naja also
1. liegen durch keyblock die tasteneingaben mind. alle 21 schleifendurchläufe auseinander und
2. hatte ich durch den highspeedcounter so eingestellt das es nicht so oft aufgerufen und
3. müsste

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
var
  x:array of integer;
begin
  for i:=1 to 10000
    setlength(x,length(x)+1);
end;


auch klappen

das ist aber irgendwie alles sehr merkwürdig..aber daran scheiont es nicht zu liegen...? trotzdem danke :D
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 20:26 
:hi:
ich hab herausgefunden das es an dieser prozedur liegen muss:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
procedure loaddximagelist;
var
  x:Tpicture;
  ms:Tmemorystream;
  buffer:array[0..1023]of char;
  bmpname:string;
  filenumber,
  i,
  currentfilepos,
  bmpsize,
  numread:integer;
  f:file;
begin
  currentfilepos:=0;
  assignfile(f,extractfilepath(application.exename)+'pak0.pak');
  reset(f,1);
  seek(f,9);
  blockread(f,filenumber,4);
  for i:=0 to filenumber-1 do
    begin
      ms:=Tmemorystream.create;
      x:=Tpicture.create;
      seek(f,13+i*24);
      zeromemory(@buffer,sizeof(buffer));
      blockread(f,bmpsize,4);
      blockread(f,buffer,20);
      bmpname:=buffer;
      seek(f,13+filenumber*24+currentfilepos);
      ms.SetSize(bmpsize);
      currentfilepos:=currentfilepos+bmpsize;
      numread:=0;
      repeat
        bmpsize:=bmpsize-numread;
        if bmpsize>=sizeof(buffer)
          then blockread(f,buffer,sizeof(buffer),numread)
          else blockread(f,buffer,bmpsize,numread);
        ms.writebuffer(buffer,numread);
     until numread=0;
     ms.Position := 0;
     x.Bitmap.LoadFromStream(ms);
     pakim[i]:=Tbitmap.create;
     pakim[i].Width:=x.Bitmap.Width;
     pakim[i].height:=x.Bitmap.Height;
     bitblt(pakim[i].canvas.handle,0,0,pakim[i].width,pakim[i].height,x.bitmap.canvas.handle,0,0,SRCCOPY);
     freeandnil(ms);
     freeandnil(x);
   end;
   closefile(f);
end;

das problem ist nur das ich die bitmaps so aus einer adtei laden möchte damit sie nicht verändert werden... deswegen hab ich zu der obigen prozedur das untere programm geschrieben, aber wieso kommt es jetzt zu einem stack overflow?? (welcher aber nicht in dieser prozedur oben auftritt..??) wird speicher eventuell belegt und nicht wieder freigegeben? ich hab damit nicht soviel ahnung... :cry:


ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
program make_res_paks;

uses
  sysutils,
  classes,
  windows;

var
  f:Tstringlist;
  f1,f2:file;
  buffer:array[0..1023]of char;
  numread:integer;
  writepos:integer;
  totalsize:integer;
  i,tmp:integer;

  param1,param2,param3:string;

procedure suchdateien(a:string;var b:Tstringlist;c:boolean);
var
  sr:Tsearchrec;
begin
  if FindFirst(a+'*.*', faAnyFile, sr)=0 then
    begin
      if sr.name[1]<>'.' then
        if sr.size<>0
          then b.add(a+sr.name)
          else if c then
            suchdateien(a+sr.name+'\',b,c);
      while FindNext(sr) = 0 do
        if (sr.name[1]<>'.')and(sr.size<>0)
          then b.add(a+sr.name)
          else if c then suchdateien(a+sr.name+'\',b,c);
    end;
  FindClose(sr);
end;

begin
  f:=Tstringlist.create;
  f.LoadFromFile(paramstr(1));
  param1:=f.Strings[0];
  param2:=f.Strings[1];
  param3:=f.Strings[2];
  f.Clear;
  suchdateien(param1,f,false);
  f.savetofile(param2);
  (*HEADER SCHREIBEN
  anmerkung , die position der datensätze ist eigentlich günstiger als die datei
            größe...
  5 byte   versionsnummer z.B: 1790a
  4 byte   pakx.pak dateigröße
  4byte    dateianzahl im package
  4 byte   dateigröße1
  20 byte  dateiname1
  etc.
  sizeof(HEADER)=5+4+4+files*(4+20)=13+files*24
  danach folgen die dateien selbst
  *)
  assignfile(f1,param3);
  rewrite(f1,1);
  (*-  versionnummer*)
  tmp:=1;
  Blockwrite(f1,tmp,sizeof(tmp));
  buffer[0]:='a';
  Blockwrite(f1,buffer[0],sizeof(buffer[0]));
  (*-  platz halten für pakx.pak filesize*)
  zeromemory(@buffer,sizeof(buffer));
  Blockwrite(f1,buffer,4);
  (*-  anzahl der files*)
  tmp:=f.count;
  Blockwrite(f1,tmp,sizeof(integer));
  (*-  dateigröße 0..i*)
  for i:=0 to f.count-1 do
    begin
      (*-  platz halten für file1 filesize*)
      zeromemory(@buffer,sizeof(buffer));
      Blockwrite(f1,buffer,4);
      (*-  filename(max. 20 chars)*)
      if length(extractfilename(f.strings[i]))>20 then // this should not happen
        begin
          closefile(f1);
          exit;
        end;
      strpcopy(buffer,extractfilename(f.strings[i]));
      Blockwrite(f1,buffer,20);
    end;
  totalsize:=13+f.count*24;
  (*HEADER ENDE*)
  (*FILES SCHREIBEN*)
  for i:=0 to f.Count-1 do
    begin
      assignfile(f2,f.strings[i]);
      reset(f2,1);
      writepos:=filepos(f1);
      seek(f1,13+24*i);
      tmp:=filesize(f2);
      totalsize:=totalsize+tmp;
      Blockwrite(f1,tmp,sizeof(tmp));
      seek(f1,writepos);
      repeat
        zeromemory(@buffer,sizeof(buffer));
        BlockRead(f2, Buffer, SizeOf(Buffer), NumRead);
        Blockwrite(f1,buffer,NumRead);
      until (NumRead = 0);
      closefile(f2);
    end;
  seek(f1,5);
  blockwrite(f1,totalsize,sizeof(totalsize));
  closefile(f1);
  freeandnil(f);
end.


cya
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 18.02.03 20:31 
Ich hab das Problem bis jetzt auf eine Anweisung zurückgeführt:
ausblenden Quelltext
1:
extractfilepath					


Kein Scherz, genau an dieser Stelle steigt er mir mit einer Schutzverletzung aus. Die Version mit FlatStyle stieg zwar anders aus, aber ich wollte die net debuggen (keine FlatStyle, hab näümlich delphi7, da müsste ich wohl zuviel ändern!).

Forsche weiter...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 18.02.03 20:35 
Gaaaanz komisch: Jetzt hab ich application.exename durch den richtigen Pfad ersetzt und jetzt krieg ich im Delphi ne Schutzverletzung, starte ich ohne Debugger stiegt er einfach ohne Meldung aus.... :?:

Mach morgen weiter
Fred Ferkel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 20:43 
thx ür die hilfe...ja das ist ne ganz merkwürdige sache weil wenn man was rasunimmt kommt der fheler eingfach woanders..!? und jetzt bin ich mir auch nciht mehr so sicher ob es wie ich oben behauptet hab an der einen prozedur liegt...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 19.02.03 09:01 
Ja, also es liegt an einem StackOverflow, der zeigt es nur nicht richtig dran. Während ich das schreibe, läuft Dein Programm im Hintergrund (hab den Stack vergrößert). Inzwischen verbraucht das Programm schon 46MB im Speicher!. SO, jetzt sinds 50 und jetzt kommt die erste Schutzverletzung. Jetzt müssen wir nur noch rauskriegen, worans liegt.....

Gruß
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 19.02.03 09:10 
So, weiter gehts, inzwischen vermute ich, dass es an der procedure loaddximagelist liegt, denn sonst führt er mir nur beim Laden der Levels dieses blocks[i].x1:=ini.readinteger('level'+s1,'block'+s2+'x1',0); Ewigkeiten bis zur Schutzverletzung aus....

Aber da dieses gnze Zeuch mit BlockRead und so, laut .NET-Meldungen eh unsicherer Code ist, bin ich der Meinung es liegt an der... weil da oben kanns net dran liegen... :?: