Newsgroup: it.comp.lang.delphi
Titolo: D4: errore aprendo una tabella

Aprendo la tabella con il codice sottotiportato ottengo la seguente
eccezzione:
<<<<13/11/05 15.18.30     clienti_read_only_tbl.Active     Access violation
at address 00696679 in module 'PHGPLUS4.EXE'. Read of address FFFFFFFF
Ovviamente il msg restituito da D4 inizia da Access.
Non so come decifrare questo errore, l'applicazione sembra fuzionare ma è
una questione di principio.
La form alla quale fa riferimento la seconda parte del codice viene creata
PRIMA della tabella e comunque non viene generata alcuna eccezzione in
quella sezione.
Grazie ai volenterosi che vorranno aiutarmi
Carlo
***************************************
procedure TDM_2.DM_2Create(Sender: TObject);
begin
  assignfile(log_file, 'phg4_log.txt');
  Session.AddPassword('TEMISTOCLE');
  telefonate_tbl.active := true;
  doc_img_tbl.Active := True;
  try
    clienti_read_only_tbl.Active := true;
  except
  on e: exception do
    begin
      append(log_file);
      linea_log := DateTimeToStr(Now) + '     ' +
'clienti_read_only_tbl.Active' + '     ' + e.message;
      writeln(log_file, linea_log);
      closefile(log_file);
    end;
  end;
    Tel_155_tbl.Active := true;
    cli_155_tbl.Active := true;
  end;
************************************
procedure TDM_2.clienti_read_only_srcDataChange(Sender: TObject;
  Field: TField);
var
  jpeg: TJPEGImage;
  memStream: TMemoryStream;
begin
  if not DM_2.clienti_read_only_tblDoc_lato1.IsNull then //carica IMG1
  begin
    try
      JPEG := TJPEGImage.Create;
      memStream := TMemoryStream.Create;
      DM_2.clienti_read_only_tblDoc_lato1.SaveToStream(memStream);
      memStream.Seek(0, 0);
      JPEG.LoadFromStream(memStream);
      f_CLIENTI_LIST.Image1.Picture.Assign(JPEG);
    finally
      JPEG.Free;
      memStream.Free;
      JPEG := nil;
      memStream := nil;
    end;
  end
  else
  try
    f_CLIENTI_LIST.Image1.Picture.LoadFromFile('stop.jpg');
  except
    on e: exception do
    begin
      append(log_file);
      linea_log := DateTimeToStr(Now) + '     ' + 'errore mio 2' + '     ' +
e.message;
      writeln(log_file, linea_log);
      closefile(log_file);
    end;
  end;
end;

       closefile(log_file);
non condivido nella maniera + categorica.
L'idea di salvare l'errore in un log č buona, ma non mostrare l'errore a 
video č, imho, un errore madornale.
L'utonto sarą convinto che tutto funziona.
AS

 [...]ma non mostrare l'errore a video č, imho, un errore madornale.
Non č detto che tutte le applicazioni debbano mostrare gli errori a 
video e da quel poco che viene pubblicato non č possibile stabilire se 
si tratti di un software con interfaccia verso l'utente o, ad esempio, 
di un software di "patch" che viene lanciato a una certa ora della 
notte.  In quest'ultimo caso, infatti, il modo piů comune di procedere č 
di non interrompere l'elaborazione, ma loggare tutti gli errori.

 ha scritto nel messaggio
news:7lJdf.1114$P16....@tornado.fastwebnet.it...


 [...]devo farlo bene, c'è di mezzo l'antiterrorismo.
Se devi farlo bene, non usare Paradox.

 cammello (tanto per restare in tema).
non ho mai detto di non loggare.
Ho solo detto che *imho* dare agli utonti la percezione che tutto 
funziona quando non č cosi' č pericoloso.
Inoltre, extracomunitario non č sinonimo di utonto.
Lavoro in una azienda dove di extracomunitari ce ne sono veramente 
tanti, ma io ne vorrei ancora di + per sotituire gente italiana che non 
sa distnguere un pc da un frullatore.
Tra (), con tutto cio che di free che esiste oggi trovo l'utilizzo di 
paradox alquanto masochistico....
AS

 di non interrompere l'elaborazione, ma loggare tutti gli errori.
ok, Andrea.
Loggare gli errori non è in discussione, anzi.
Ma ha senso che una app di qualsiasi tipo continui a funzionare o a 
trasmettere l'idea che sta funzionando (cosa imho grave...) quando 
qualcosa va storto?
AS

 ha scritto nel messaggio
news:dl7qjq$nkk$1...@newsreader1.mclink.it...


 qualcosa va storto?
Sì, potrebbe avere senso, l'ho già detto.  Ci sono applicazioni e 
applicazioni.  Ci sono applicazioni che non hanno bisogno di comunicare 
alcunché, ma semplicemente loggare quello che accade.

 D4???
Guarda questa pagina: 
http://delphi.icm.edu.pl/authors/a0003591.htm
In questa pagina scorri i software fino a trovare questo: PictCollector.zip
Provalo e facci sapere se hai risolto.
Questa e' parte della descrizione (non l'ho provato): "Store individual
pictures in a Paradox table. Allows any kind of image picture because it
does not use ftGraphic data type for the column which will store the
graphic but it use ftBlob instead and implements virtual method to get a
image preview (for Bitmap, Icon, Metafiles, JPEG, Enhanced Metafiles,
CompuServe GIF Image files).(...)"
ciao!
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/