вы можете попробовать использовать функцию mysql lpad
select Cust_Id, lpad(Cust_Id, 6, '0')
FROM Customers
https://dev.mysql.com/doc/refman/8.0/ru/string-functions.html#function_lpad
Поместите строку
Form1 := nil;
сразу после вызова для Выпуска.
Выпуск просто добавляет сообщение CM_RELEASE к Форме, которая позволяет Форме заканчивать то, что находится в ее очереди (обработчики событий) прежде, чем обработать сообщение CM_RELEASE, что означает обычно просто называть Свободным.
Так, после называния Выпуска Вы не должны предполагать что неподвижные точки переменной Формы к допустимой Форме, таким образом помещая ноль в переменную.
Из Вас мог просто всегда называть это:
procedure FreeOrReleaseAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
if Temp is TCustomForm then
TCustomForm(Temp).Release
else
Temp.Free;
end;
Обязательно проверьте тип после кастинга к TObject, поскольку Вы не можете протестировать тип Obj. Это должно быть безопасно, так как как Свободный, Выпуск является невиртуальным.
В Delphi Win32 состоит в том, чтобы звонить соответствующий способ освободить объекты
FreeAndNil(Form1)
Это делает обе работы в единственном вызове.
Однако у меня есть подлое чувство, что существует больше к Вашему вопросу, чем кажется на первый взгляд. Вы используете Delphi для.NET - и если так, который версия?
Выпуск просто (потенциально) задержан Свободный. 1-й вещью, которую необходимо сделать после называния Выпуска, является nilling переменная.
Затем Вы будете в безопасности, даже если некоторый код попытается сослаться на Form1, прежде чем он будет на самом деле уничтожен. В случае как в Вашем коде это просто безопасно воссоздало бы другой Form1 для нового использования, не беспокоя уничтожаемое то.
Как упоминается, Выпуск является только задержанным Свободным, чтобы форма использовала, если это хочет Закрыться/Освободить себя. Другое затем быть задержанным его не делает ничего различного от Выпуска. Таким образом, там бесполезен в вызове Выпуска в том примере. Бесплатный вызов, кажется, более логичен. И можно установить его на ноль после вызова Свободного или использовать FreeAndNil.
Если Вы все еще хотите использовать Выпуск, который прекрасен. Просто установив значение переменной к нулевым работам. Выполнение, которое не заставляет форум вести себя по-другому. Но помните, что в этом случае это более эффективно и более детерминировано для вызова Свободным вместо Выпуска. Мое предпочтение состоит в том, чтобы только использовать Выпуск, где действительно необходим.