Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2011, 20:36   #1
Boris777
 
Регистрация: 15.09.2009
Сообщений: 4
По умолчанию Неверное считывание записи из типизированного файла

Добрый день ! Кто нибуть сталкивался с подобной проблемой ?
Имеется структура вида:
Код:
type
  Params = record
	m_1: cardinal;
	m_2: integer;

	m_3: cardinal; 
	m_4: cardinal;
	m_5: cardinal;

        g_1, g_2: UInt64;

        crc: cardinal;

	m_6: boolean;
        m_7, m_8: UInt64;
  end;
Данная структура сохраняется в реестре в бинарном виде, с шифрованием (xor) другой программой. С записью струкутры у меня проблем нет, но вот при чтении ситуация следующая: при запуске проги из среды Делфи читает всё как надо, но если запустить отдельно скомпилированный файл, то вместо данных какие то левые большие числа !
Среда разработки Delphi 2010, ОС Windows 7 (пробовал на 2-х машинах)
В чем может быть проблема ???
Вот моя функция чтения:
Код:
var
  mParams: Params;
  userstring: array [1..512] of Byte;
  mKey: HKEY;

procedure Read;
var
i: Word;
userstringlen: Cardinal;
rtype: Cardinal;
begin
  rtype:=REG_SZ;
  RegQueryValueEx(mKey,'data',nil,@rtype,@userstring,@userstringlen);
  for i:=1 to userstringlen do userstring[i]:=userstring[i] xor $87;
  Move(userstring,mParams,SizeOf(mParams));
end;
Boris777 вне форума Ответить с цитированием
Старый 17.12.2011, 20:43   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

вижу в середине однобайтовый бульен...
может packed record
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 20.12.2011, 00:03   #3
Boris777
 
Регистрация: 15.09.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
вижу в середине однобайтовый бульен...
может packed record
Пробовал, не помогает ! Уже даже попробовал собрать проект в Д7, эффект тотже, по Ф9 работает, отдельно нет (
Boris777 вне форума Ответить с цитированием
Старый 20.12.2011, 02:51   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Я тебе сейчас секрет открою: RegQueryValueEx - функция (ты прикинь, да?).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение из типизированного файла kyop Паскаль, Turbo Pascal, PascalABC.NET 9 13.07.2011 17:32
Неверное определение размера файла? _SERGEYX_ Свободное общение 2 17.11.2010 13:28
Неверное считывание из файла [BlockRead] Alex Cones Общие вопросы Delphi 2 16.05.2010 23:46
Чтение из типизированного файла с последней записи и до первой vmilyoshin Помощь студентам 7 28.04.2010 15:34
создание типизированного файла Siluet Общие вопросы Delphi 10 26.09.2009 12:47