Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2014.06.08;
Скачать: [xml.tar.bz2];

Вниз

Баг при работе с областью памяти   Найти похожие ветки 

 
S-C-L ©   (2012-01-02 17:48) [0]

Есть структура:

TVal = record
     case byte of
       0 : (u08_0, u08_1, u08_2, u08_3   : byte;);
       1 : (u16_0, u16_1                 : word;);
       2 : (u32                          : Cardinal;);
       3 : (i32                          : Integer;);
       4 : (f32                          : single;);
       5 : (data                         : Pointer;);
     end;


и чтение из файла в эту структуру:

       blockRead(fFile,len32,4,Res);
       if len32 < 0 then
       begin
         Result := false;
         exit;
       end;
       TempStr := "";
       GetMem(val.fVal.data,len32);
       for len8 := 0 to len32 - 1 do
       begin
         BlockRead(fFile,TempByte,1,Res);
         TempStr := TempStr + chr(tempByte);
       end;
       copyMemory(val.fVal.data,@TempStr,len32);


когда я читаю из файла 1ну переменную(текст) - все нормально
но когда я пытаюсь читать вторую переменную - 1ая пропадает

подскажите где у меня ошибка


 
S-C-L ©   (2012-01-02 18:03) [1]

мне нужно чтобы в переменной можно было хранить любой тип данных:
строку, структуру, объект, класс, и т.д.


 
MBo ©   (2012-01-02 18:07) [2]

Не описаны переменные, однако последняя строка наверняка неверная (указатель на строку)


 
S-C-L ©   (2012-01-02 19:00) [3]

решил проблему другим способом

созданием дополнительной переменной с типом string в структуре


 
S-C-L ©   (2012-01-02 19:02) [4]

теперь мучает другой вопрос:
нужно сделать эффект присутствия структурных типов данных

чтобы описание, а также поля, методы, операторы загружались из внешнего файла, а не хранились внутри приложения


 
RWolf ©   (2012-01-02 21:18) [5]

изучай TReader/TWriter.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2014.06.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
15-1385483811
Абориген
2013-11-26 20:36
2014.06.08
Найти вкладку в FireFox.


15-1385391687
Артем Билецкий
2013-11-25 19:01
2014.06.08
Распознать рукописный текст (преимущественно цифры)


2-1376633430
mfender
2013-08-16 10:10
2014.06.08
Странности SetLength


2-1376642323
i2e
2013-08-16 12:38
2014.06.08
Определить нажатие кнопки


15-1385649765
BBC
2013-11-28 18:42
2014.06.08
Работа с видео из командной строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский