>>Статическая проверка типа значения, присваиваемого элементу коллекции
Это конечно да, только для классов не так уж и нужно. ИМХО
Модератор: Модераторы
zub писал(а):А вот гадать ассигн это или не ассигн не остается...
zub писал(а):Это как подорожник подкладывать под йодную сетку при открытом переломе))
Хорошо что у тебя хобби - паскаль, а не медицина...
MysticCoder писал(а):давай весь код, хорош в экстрасенсов играть
procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
var MR : TModalResult;
begin
boModify := false; // блокирует появление диалога и тогда всё работает без сбоя.
try
if boModify then begin
MR := QuestionDlg('Вопрос', 'Сохранить изменения в проекте '+OpenDialog1.FileName+'?'+#13, mtConfirmation, [mrOK, 'Да', mrNo,'Нет', mrCancel,'Отмена'], 0);
case MR of
mrOK: if OpenDialog1.FileName <> ''
then actSaveExecute(Self)
else actSaveAsXMLExecute(Self);
mrNo: CanClose := true;
mrCancel: CanClose := false;
end;
end;
except
on e:exception do ShowMessage('Сбой при закрытии программы: '+#13+e.Message);
end;
end;
MysticCoder писал(а):весь код юнита. ты где то портишь память, и явно не в этих огрызках кода, что выдаешь.
zub писал(а):actSaveExecute или actSaveAsXMLExecute
procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
var MR : TModalResult;
begin
// boModify := false;
try
if boModify then begin
MR := QuestionDlg('Вопрос', 'Сохранить изменения в проекте '+OpenDialog1.FileName+'?'+#13, mtConfirmation, [mrOK, 'Да', mrNo,'Нет', mrCancel,'Отмена'], 0);
case MR of
mrOK: CanClose := true; //if OpenDialog1.FileName <> ''
// then CanClose := true // actSaveExecute(Self)
// else CanClose := true; // actSaveAsXMLExecute(Self);
mrNo: CanClose := true;
mrCancel: CanClose := false;
end;
end;
except
on e:exception do ShowMessage('Сбой при закрытии программы: '+#13+e.Message);
end;
end;
zub писал(а):Нужно учится отлаживать свои программы а не морочить людям головы
zub писал(а):>>Дело не в памяти, а в этом TModalResult ...
Нда..
procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
//var MR : TModalResult;
begin
// boModify := false;
try
if boModify then begin
//MR := ;
case QuestionDlg('Вопрос', 'Сохранить изменения в проекте '+OpenDialog1.FileName+'?'+#13, mtConfirmation, [mrOK, 'Да', mrNo,'Нет', mrCancel,'Отмена'], 0) of
mrOK: if OpenDialog1.FileName <> ''
then actSaveExecute(Self)
else actSaveAsXMLExecute(Self);
mrNo: CanClose := true;
mrCancel: CanClose := false;
end;
end;
except
on e:exception do ShowMessage('Сбой при закрытии программы: '+#13+e.Message);
end;
end;
vitaly_l писал(а):Дело не в битмапах, а в MR : TModalResult;
MysticCoder писал(а):Вангую, что проблема вернется чуть позже
vitaly_l писал(а):Нашёл, ещё одну странную зависимость...
MysticCoder писал(а):вот этих странных зависимостей еще кучу найдешь, пока корень проблемы не найдешь. т.к. при порче памяти в одном положении системы все работает, а при любом чихе все катится к чертям.
Вернуться в Обучение Free Pascal
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11