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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 22:44   #1
jungle
Пользователь
 
Аватар для jungle
 
Регистрация: 22.11.2008
Сообщений: 65
Радость Unsafe code или как правильно использовать указатели

Раньше я просто отключал в настройках Compiler Messages Delphi три последних пункта. Научите правильно использовать указатели, пожалуйста!
Вот простой код:

Код:
procedure TForm1.FormDestroy(Sender: TObject);
var
  hSwitch: HKey;
  sVal: ShortString;
begin
  RegOpenKey(HKEY_CURRENT_USER, 'Software\Microsoft', hSwitch);
    RegSetValueEx(hSwitch, 'HelloWorld', 0, REG_SZ, @sVal[1], SizeOf(sVal));
  RegCloseKey(hSwitch);
end;
jungle вне форума Ответить с цитированием
Старый 29.11.2010, 07:52   #2
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Например >>>вот<<< статейка.
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 29.11.2010, 11:43   #3
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Правильно использовать указатели - не использовать их вообще.

Конечно, не всегда это удаётся.

Конкретно в вашем случае предупреждения нужно отключать. Unsafe type/cast - это предупреждения, введённые для совместимости с .NET - поскольку никаких указателей в .NET нет. А раз вы используете их для WinAPI - тут уж иначе никак.

Наиболее правильное решение - использовать обёртки. Например, модуль Registry. Или вынести все такие функции в отдельный модуль.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно использовать функцию ExtFloodFill. SkAndrew Общие вопросы Delphi 0 14.04.2010 14:05
Unsafe code "String index to var param" Alex Cones Общие вопросы Delphi 7 22.03.2010 22:52
Как правильно использовать MonthCalendar Shanuzina Компоненты Delphi 1 04.03.2010 11:58
как правильно использовать OR AND mpdasa Общие вопросы Delphi 2 19.01.2010 17:30
Как правильно использовать ComboBox Pirotexnik Общие вопросы Delphi 6 26.03.2009 23:30