Topic: Проблема с программой

Что за проблема? Смотрите скрин.

Post's attachments

Attachment icon 23.JPG 32.63 kb, 258 downloads since 2015-07-03 

Re: Проблема с программой

Когда возникает ошибка?
приложите пожалуйста проект, с описанием действий для возникновения ошибки.

Dmitry.

Re: Проблема с программой

Сам узнал причину, оказывается при вызове формы скриптом если там имеется грид, то надо писать Form1.Grid1.dbUpdate. Так вот моя форма не вызывается скриптом, а Form1.Grid1.dbUpdate написано, поэтому MVD ругается. Теперь возник другой вопрос. Изображение ошибки прилагается. Внизу мой скрипт.

procedure Form1_OnClose (Sender: string; Action: string);
begin
License.Close;
end;

procedure License_OnShow (Sender: string; Action: string);
var
q2: string;
res:string;
begin
res := GetHardDiskSerial ('C');
  if (res =  '0') then       
   begin
   res := GetHardDiskSerial ('D');
  if (res =  '0') then
   begin
   res := GetHardDiskSerial ('E');
  if (res =  '0') then
   res := GetHardDiskSerial ('F');
   end;
   end;
License.Edit5.Text:= res;
License.Edit3.Text:= 'F' + Copy(License.Edit5.Text,2,2)+ 'DN'+Copy(License.Edit5.Text,1,2)+'QR'+Copy(License.Edit5.Text,3,4)+Copy(License.Edit5.Text,1,2)+'G'+Copy(License.Edit5.Text,3,3);
License.Edit1.Text:= 'Q' + Copy(License.Edit5.Text,1,2)+ 'PM'+Copy(License.Edit5.Text,3,2)+'O'+Copy(License.Edit5.Text,5,1)+Copy(License.Edit5.Text,6,1)+'G'+Copy(License.Edit5.Text,7,8);
q2 := SQLExecute('SELECT SNU FROM SerialNumber WHERE (SN='''+License.Edit1.Text+''')');
License.Edit4.Text:= q2;
if q2 <> '' then
begin
Form1.Show;
License.Hide;
end;
end;

procedure License_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
if License.Edit2.Text = License.Edit3.Text then
begin
Form1.Show;
License.Hide;
end else
begin
Cancel:= True;
Showmessage('Введенный код неверный!'+#13+'Введите код активации!');
end;
end;


{procedure License_Edit2_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
if Key=13 then
begin
License_Button2_OnClick ('',false);
end;
if (Ctrl) and (Shift) and (Alt) and (Key=ord('P')) then License.GroupBox1.Visible:= True;
if (Ctrl) and (Shift) and (Alt) and (Key=ord('O')) then License.GroupBox1.Visible:= False;
end;}




procedure License_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
License.Hide;
Form1.ShowModal;
Form1.TableGrid1.dbUpdate;
Form1.Delete.Enabled:= False;
dobavit.Button1.Enabled:= False;
dobavit.Button4.Enabled:= False;
end;

begin
License.KeyPreview:= True;
License.mniFile.Visible := False; // убирает меню Файл
License.mniOptions.Visible := False; // убирает меню Инструменты
License.mniAbout.Visible := False; // убирает меню О программе
end.

Post's attachments

Attachment icon 24.JPG 66.97 kb, 246 downloads since 2015-07-03 

Re: Проблема с программой

приложите пожалуйста проект, с описанием действий для возникновения ошибки.

Dmitry.

5 (edited by pha1984 2015-07-03 10:38:30)

Re: Проблема с программой

При первом запуске программа запрашивает код активации, который можно взять с Edit3. Теперь при повторном запуске пишет ошибку (см. изображение)

Post's attachments

Attachment icon Employ.zip 39.27 kb, 406 downloads since 2015-07-03 

Re: Проблема с программой

pha1984 wrote:

При первом запуске программа запрашивает код активации, который можно взять с Edit3. Теперь при повторном запуске пишет ошибку (см. изображение)

Нет возможности скрывать окно в событии этого же окна (OnShow)
Пришлось сделать немного не стандартно, с помощью таймера:

Post's attachments

Attachment icon Employ_fixed.zip 37.1 kb, 382 downloads since 2015-07-03 

Dmitry.

Re: Проблема с программой

1. а как на счет использования ShowModal?
2. что делает таймер в моем случае?

Re: Проблема с программой

ShowModal не поможет.


таймер скрывает форму License, как бы отделяется от события OnShow от Form1

Dmitry.

Re: Проблема с программой

ясно, спс