Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CPU Window [D6, Win2k]


Explorer ©   (2002-05-28 12:38:00) 

Мастера!
Запускаю проект. Все работает. И сразу его закрываю - ошибка 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; //


Explorer   (2002-05-29 09:36:00) [1]

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


Anatoly Podgoretsky   (2002-05-29 09:05:00) [2]

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

with TFormChangeAccounts.Create(Self) do


Anatoly Podgoretsky   (2002-05-29 09:04:00) [3]

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;


Explorer   (2002-05-29 06:15:00) [4]

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


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

>> Explorer © (28.05.02 13:20)

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

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


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

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


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

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

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


Explorer   (2002-05-28 13:20:00) [8]

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


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

>> Explorer © (28.05.02 12:57)

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


Explorer   (2002-05-28 12:57:00) [10]

>Игорь Шевченко
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 12:53:00) [11]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо