🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92792

Re: EAccessViolation : Access violation

#92792
From: Łukasz 'Maly' Ostrowski
Date: Tue, 27 Jan 2009 15:46
107 lines
3883 bytes
On Sun, 25 Jan 2009 20:14:06 +0000 (UTC), Mirek wrote:
> On nie, 25 sty 2009 18:00:54 in article news:<6c39f892-946c-47a0-b7a0-d0e30f3d72d5@z6g2000pre.googlegroups.com>
> notaras wrote:
>> An unhandled exception occurred at $08049761 :
>>                                              EAccessViolation :
>> Access violation
>>  $08049761
>>              $080566B5
>>                        $080481C2  P$NOS_TEXT_MODE_finalize_implicit,
>> of nos_text_mode.pas
>>              $080572B2
>>                        $08057485
>> 
>> nos_types zawiera:
> 
> nos_types musi zawierać coś wiecej i tam szukaj błędu

Prawie dobrze Kolega kombinuje ;). Sekcja finalization sprząta
też AnsiStringi, jeżeli do tychże trafia jakieś śmieci, tzn.
do nagłówka, długości, etc, to mogą wyskoczyć podobne krzaczki.

Do orginalnego autora wątku:

1. Upewnij się że nie zapisałeś krzaków do tego pliku config.dat,
   musi być tam zserializowana dokładnie ta sama wersja TConfig.
   [Binarnie, żadnych plików textowych ;)]
2. Upewnij się że w TConfig i w TUser masz shortstring - jeżeli
   jakimś cudem właczysz $mode objfpc i jakimś cudem kompilator
   wymyśli żeby tam wsadzić string=AnsiString to będziesz miał
   bagno podobne do obecnego, bo do pliku zapiszą się pointery
   ;).  
3. Aczkolwiek nie podejrzewam tego, nie masz w sekcji finzalization
   unitu nos_types nic co może się wywalić?
4. SOA#1 u mnie działa po przeklejeniu i po wygenerowaniu pliku
   config.dat:
   
// nos_types.pas
unit nos_types;
{$MODE objfpc}
interface
type
    TUser=
        record
            id:shortstring;
        end;

    TConfig=
        record
            ftp_user:shortstring;
            ftp_pass:shortstring;
            upload_ip:shortstring;
            download_url:shortstring;
            user:TUser;
        end;

implementation
end.

// test.pas

{$MODE objfpc}
uses
  nos_types,crt,SysUtils;

var
  f:file of TConfig;
  temp:TConfig;
  temp_boolean:boolean;
  temp_char:char;
  f2:longint;



begin
  {* tym sobie wygenerowałem "napewno poprawny plik"
  FillChar(temp, sizeof(temp), #0);

  assign(f, 'config.dat');
  rewrite(f);
  write(f, temp);
  close(f);
  *}
  if FileExists('config.dat') then
    begin
      assign(f, 'config.dat');
      reset(f);
      read(f,temp);
      close(f);
      writeln('dane konfiguracyjne pomyslnie wczytane');
      writeln('aaaaaaaa');
    end;
  writeln('bbbbbbbb');
end.

// -------------------------------------------------------------

/cygdrive/c/dev/fpc/bin/i386-win32$ ./fpc -h | head -2
Free Pascal Compiler version 2.2.0 [2007/09/09] for i386
Copyright (c) 1993-2007 by Florian Klaempfl

// ps. uważaj na warningi:

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.         http://maly.nemo.pl/
ICQ: 148498663     GG: 2544385   AIM: malyzgora
GTalk: l3vi4than@gmail.com       ASTRA: L3viathan
Technical Details
Message-ID: <18jenvva2sy99$.154p58dgtno42.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <6c39f892-946c-47a0-b7a0-d0e30f3d72d5@z6g2000pre.googlegroups.com> <glih6e$6t1$1@z-news.pwr.wroc.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: EAccessViolation : Access violation
Date: Tue, 27 Jan 2009 16:46:30 +0100
Organization: Acme
Lines: 107
Message-ID: <18jenvva2sy99$.154p58dgtno42.dlg@40tude.net>
References: <6c39f892-946c-47a0-b7a0-d0e30f3d72d5@z6g2000pre.googlegroups.com> <glih6e$6t1$1@z-news.pwr.wroc.pl>
NNTP-Posting-Host: static-78-8-208-81.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1233071356 28541 78.8.208.81 (27 Jan 2009 15:49:16 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Tue, 27 Jan 2009 15:49:16 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit