Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

CPU Window   Найти похожие ветки 

 
Explorer ©   (2002-05-28 12:38) [0]

Мастера!
Запускаю проект. Все работает. И сразу его закрываю - ошибка CPU Window. Может вы поможите разобраться?

Вот код:




unit MainForm;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, DBTables, DB, StdCtrls, Mask, ExtCtrls, jpeg, RxGIF;

var
VarFormCellCreated:boolean=false; //


 
Игорь Шевченко ©   (2002-05-28 12:53) [1]

Form.Destroy не надо. Лучше Form.Free; Form := nil;

И еще, какие из форм создаются в dpr и в какой последовательности?


 
Explorer ©   (2002-05-28 12:57) [2]

>Игорь Шевченко
1. Сейчас попробую
2. В таком порядке:



program ProjectCells;
uses
Forms,
MainForm in "MainForm.pas" {MainF},
DateModule in "Forms\DateModule.pas" {DatasModule: TDataModule},
FormPayment in "Forms\FormPayment.pas" {FormPayments},
Factura in "Forms\Factura.pas" {FormFacturas},
Order in "Forms\Order.pas" {FormOrder};

{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TMainF, MainF);
Application.CreateForm(TDatasModule, DatasModule);
Application.CreateForm(TFormPayments, FormPayments);
Application.CreateForm(TFormFacturas, FormFacturas);
Application.CreateForm(TFormOrder, FormOrder);
Application.Run;
end.


 
Андрей Сенченко ©   (2002-05-28 13:07) [3]

>> Explorer © (28.05.02 12:57)

А зачем Ты создаешь их все сразу ? Создавай по мере надобности и делай Form.Free при закрытии надолго.


 
Explorer ©   (2002-05-28 13:20) [4]

>Андрей Сенченко
А как их создавать по мере надобности?
Или ручками?


 
Игорь Шевченко ©   (2002-05-28 14:25) [5]

TMainF.FormClose - убрать MainF.Destroy

Нафиг! - это источник CPU Window


 
Explorer ©   (2002-05-28 15:30) [6]

>Игорь Шевченко
*.Destroy лучше вообще ВЕЗДЕ по убирать?


 
Андрей Сенченко ©   (2002-05-28 15:41) [7]

>> Explorer © (28.05.02 13:20)

По мере надобности - значит при вызове. На клик кнопки, которая должна например открыть окно "Счета-Фактуры" ( судя по назвааниям форм ) вешаешь первым делом Form.Create
При выходе ( закрытии на продолжительное время ) - делаешь Form.Free

Form.Destroy убирай везде.


 
Explorer ©   (2002-05-29 06:15) [8]

>Андрей Сенченко ©
А можно пример кода (который надо повесить на кнопку)?


 
Anatoly Podgoretsky ©   (2002-05-29 09:04) [9]

Explorer © (29.05.02 06:15)
Так у тебя пример есть, вот этот

procedure TMainF.N5Click(Sender: TObject);
begin
Application.CreateForm (TFormChangeAccounts,FormChangeAccounts);
FormChangeAccounts.ShowModal;
FormChangeAccounts.Destroy;
end;

Только его лучше переделать

procedure TMainF.N5Click(Sender: TObject);
begin
with TFormChangeAccounts do
try
ShowModal;
finally
Free;
end;
end;


 
Anatoly Podgoretsky ©   (2002-05-29 09:05) [10]

Маленькая ошибка

with TFormChangeAccounts.Create(Self) do


 
Explorer ©   (2002-05-29 09:36) [11]

Заработало!
Всем Большое СПАСИБО!



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
6-30961
Hecker
2002-03-28 17:43
2002.06.10
Чем отличаются?


3-30670
a.verichev
2002-05-17 12:19
2002.06.10
редактирование набора данных из нескольких таблиц (ado)


1-30891
Great DAN
2002-05-30 07:26
2002.06.10
Объект TListBox


1-30808
eda
2002-05-30 14:56
2002.06.10
Delphi Общие вопросы (клавиатура) 30.05.2002


3-30694
Normal
2002-05-17 13:44
2002.06.10
IBx - Master & Detail