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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2008, 15:51   #1
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию Объясните ошибку

вот:
Код:
procedure TMForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);   
begin   
 ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data\config.ini');   
 ini.WriteInteger('MForm','Left',MForm.Left);   
 ini.WriteInteger('MForm','Top',MForm.Top);   
 ini.WriteInteger('MForm','Width',MForm.Width);   
 ini.WriteInteger('MForm','Height',MForm.Height);   
 ini.WriteBool('MForm','ScreenSnap',MForm.ScreenSnap);   
 ini.WriteInteger('FN','Color',FN.Color);   
 ini.WriteString('FN','Name',FN.Name);   
 ini.WriteInteger('FN','Size',FN.Size);   
 ini.WriteInteger('FT','Color',FT.Color);   
 ini.WriteString('FT','Name',FT.Name);   
 ini.WriteInteger('FT','Size',FT.Size);   
 ini.Free;   
end;
Изображения
Тип файла: jpg error100208.JPG (15.1 Кб, 139 просмотров)
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 11.02.2008, 15:56   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А что непонятного? Обращение к несуществующему объекту...
mihali4 вне форума Ответить с цитированием
Старый 11.02.2008, 16:33   #3
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

Я даже вручную создал папку и файл и записал в него параметры
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 11.02.2008, 16:44   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от LeoN Посмотреть сообщение
Я даже вручную создал папку и файл и записал в него параметры
Зачем? ошибка ведь не в Create, и парметры ты не считываешь, а записать пытаешься

Проверяй строку за строкой, закомментируй сначала все а потом по одной добавляй.
И вообще, ничего не написал толком FN,FT - это что? Они созданы на момент обращения к ним?

FormCloseQuery можно заменить на FormClose, не вижу в коде возможной отмены закрытия.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 11.02.2008, 16:59   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ставим брекпойнт на 4 строку и по шажочкам, по шажочкам... И просматриваем значение переменной перед очередным шажочком...
В самом деле - как нам гадать, если неизвестно, что за переменные записываются? Может, они не глобальные... А может их "убили"...
mihali4 вне форума Ответить с цитированием
Старый 11.02.2008, 17:59   #6
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

так понял. глючат переменные FN FT :TFont;Может такого типа нет?
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 11.02.2008, 18:55   #7
Istergul
Подтвердите свой е-майл
 
Регистрация: 25.01.2008
Сообщений: 16
По умолчанию

на мой взгляд, косяк в 10-й строчке,
Код:
ini.WriteInteger('FN','Color',FN.Color);
т. к. процедура WriteInteger прописывает в ини-файл значение типа лонгинт, а ты пытаешься туда прописать свойство колор
Istergul вне форума Ответить с цитированием
Старый 11.02.2008, 18:57   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от LeoN Посмотреть сообщение
так понял. глючат переменные FN FT :TFont;Может такого типа нет?
Проверьте те значения, которые вы пытаетесь записать, так как в общем случае (если, например, в качестве FN или FT использовать просто шрифт формы или другого объекта) никакого криминала в вашем коде нет. Другое дело, откуда вы берете параметры Color, Name, Size...
Скорее всего, они вовсе не того типа, какой нужно использовать для шрифта. Так что ищите свою ошибку.
Кстати, а вы уверены, что у вас создан сам ини-файл? Где вы его создаете? Где вы его ресурсы освобождаете? Может, вы его просто объявили, но не создали?
Цитата:
Сообщение от Istergul Посмотреть сообщение
процедура WriteInteger прописывает в ини-файл значение типа лонгинт, а ты пытаешься туда прописать свойство колор
А вам следует почитать о TColor... И вообще почаще заглядывать в хэлп Дельфи:
Цитата:
TColor type
Delphi syntax:
type TColor = -$7FFFFFFF-1..$7FFFFFFF;

Последний раз редактировалось mihali4; 11.02.2008 в 19:04.
mihali4 вне форума Ответить с цитированием
Старый 11.02.2008, 19:18   #9
Istergul
Подтвердите свой е-майл
 
Регистрация: 25.01.2008
Сообщений: 16
По умолчанию

mihali4, упс, не знал) но я начинающий, мне простительно =)
Istergul вне форума Ответить с цитированием
Старый 12.02.2008, 00:09   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
так понял. глючат переменные FN FT :TFont;Может такого типа нет?
опять двадцать пять, они глобальные или в процедуре какой-то описаны?
или может в другой форме? в них что-то записывалось?
тип такой есть поставь курсор на него и нажми F1
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните,плизззззз) Gaika Помощь студентам 9 02.07.2008 21:40
объясните что и как (ВычМат) zinnyrik Помощь студентам 1 18.06.2008 13:38
Объясните пожалуйста TheHerd Паскаль, Turbo Pascal, PascalABC.NET 12 04.04.2008 21:33
объясните код Rend1 Общие вопросы Delphi 18 01.02.2008 14:52