Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [delphi] accessviolation nella lettura con blockread

    ciao a tutti, vorrei, da neofita di delphi, esporvi un problema che mi sta bloccando nella creazione di una unit per la lettura di file Dicom....
    ho aperto il file d'interesse e l'ho passato alla procedura che deve leggerlo...di seguito vi mostro lo spezzone di procedura( per non dilungarmi vi mostro solo fino al punto che mi da errore...)


    procedure read_dicom_data( var uscita: Tmemo ; var fp: file);
    type
    dicom_types = (unknown, i8, i16, i32, ui8, ui16, ui32, _string );
    var
    first_one : Boolean;
    time_to_quit : Boolean;

    group, element, dummy, e_len, remaining, tmp : uint32;
    info : string;
    t : dicom_types;
    where : LongInt;
    tx : array [0..3] of Char;
    n, i : Integer;
    begin
    info := '';
    t := unknown;

    // lettura di 128 byte a zero di preambolo del file dicom

    seek(fp, 0); // mi metto all'inizio del file fp
    where := FilePos(fp);


    //uscita.lines.Add( inttostr(where)); controllo che mostra che sono al byte 0

    BlockRead(fp, tx, 4*SizeOf(Char), n);



    ....ecco io arrivo alla lettura e la compilazione non mi da errori, però all'esecuzione mi compare il messaggio di errore: access violation at 0x00000000: read of address 0x00000000..e non riesco a capire il motivo per cui non mi legge il file dall'inizio....
    spero di aver descritto il problema (naturalmente la soluzione che ora mi sfugge sarà una bazzecola)..grazie per l'interessamento!
    re dei giovani

  2. #2
    riscusate, mi sono accorto del possibile errore...quando ho usato
    procedura reset() dopo l'assegnamento del file, non ho indicato il recsize...almeno,impostandolo non ho più l'errore precedente....
    scusate il disturbo ciao
    re dei giovani

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.