Има модул:
единица UFDCE;
употреби
# XA0; Windows, съобщения, SysUtils, Уроци, графики, контроли, формуляри, диалогови прозорци, # XA0; ComCtrls, StdCtrls;
тип
# XA0; TFDCE = клас (TForm)
# XA0; # XA0; DateTimePicker1: TDateTimePicker;
# XA0; # XA0; процедура FormResize (Sender: TObject);
# XA0; край;
процедура TFDCE.FormResize (Sender: TObject);
започвам
# XA0; DateTimePicker1.Height: = ClientHeight;
# XA0; DateTimePicker1.Width: = ClientWidth;
приключи;
По-късно в програмата, ако погледнем на този клас FindClass ( "FDCE");
, След това има грешка: "клас не е намерен".
Ако извършите проверката, когато създавате основна форма, едно и също нещо се случва. Prompt е бъг или правя нещо нередно? Благодаря.
но не мислиш ли, че TFDCE и FDCE са две различни неща?
Изглежда, че нещо, което правя грешно, или какво да кажем за директивата не знам: Аз нямам клас не се регистрира, за TListBox пример.
ако не бъде намерен на класа, а след това име е неправилна или регистъра не се нарича изобщо
Изглежда, разбира се, че не се нарича да се разбере, е защо?
Например, тъй като модулът не е в нито една от yuzez
инициализация
ShowMessage ( "бла бла бла");
RegisterClass (TFDCE);
> Например, тъй като модул не е в някоя от yuzez
достатъчно, за да бъдат изброени в .dpr
Обърнете внимание на параметъра:
функция RegisterClass (конст lpWndClass: TWndClass): атом; stdcall;
и да видим как да се направи регистрация в forms.pas
> _Guest_ # XA0; (01.07.08 13:39) [10]
> Въпросът изглежда проста: да се създаде главния прозорец извършване
> RegisterClass (TListBox);
> Next бутон: FindClass ( "TListBox"); - Всички грешка: клас
> Не е намерен. Защо? Очевидно аз съм липсва нещо, но не мога да намеря.
Какво не ми казваш нещо.
> Обърнете внимание на настройките:
Това е малко на друга история.
Ето един пример, погледнете разликите
употреби
# XA0; Форми,
# XA0; основен в "main.pas",
# XA0; друг в "other.pas";
започвам
# XA0; Application.Initialize;
# XA0; Application.CreateForm (TForm1, Form1);
# XA0; Application.Run;
край.
интерфейс
употреби
# XA0; Windows, съобщения, SysUtils, варианти, Курсове, графики, управление, контролните форми,
# XA0; диалози, StdCtrls;
тип
# XA0; TForm1 = клас (TForm)
# XA0; # XA0; Button1: TButton;
# XA0; # XA0; процедура Button1Click (Sender: TObject);
# XA0; край;
Var
# XA0; Form1: TForm1;
процедура TForm1.Button1Click (Sender: TObject);
Var
# XA0; F: TCustomForm;
започвам
# XA0; F: = TFormClass (FindClass ( "TForm2")) Създаване (собствена) ;.
# XA0; опитате
# XA0; # XA0; SetStrProp (F "StrProp", "Здравей, свят!");
# XA0; # XA0; F.ShowModal;
# XA0; накрая
# XA0; # XA0; F.Free;
# XA0; край;
приключи;
интерфейс
употреби
# XA0; Windows, съобщения, SysUtils, варианти, Курсове, графики, управление, контролните форми,
# XA0; диалози, StdCtrls;
тип
# XA0; TForm2 = клас (TForm)
# XA0; # XA0; Edit1: TEdit;
# XA0; # XA0; процедура FormShow (Sender: TObject);
# XA0; частен
# XA0; # XA0; FStrProp: низ;
# XA0; публикувано
# XA0; # XA0; имот StrProp: низ прочетете FStrProp напиши FStrProp;
# XA0; край;
Var
# XA0; ФОРМА2: TForm2;
процедура TForm2.FormShow (Sender: TObject);
започвам
# XA0; Edit1.Text: = FStrProp;
приключи;
> По време на създаването на формата (не автоматично), който притежава
> Този компонент получа съобщението Не е намерено TFDCE клас.
> # XA0;
употребите образува Непознат единица за този компонент?
> _Guest_ # XA0; (01.07.08 14:12) [16]
> # XA0; направи един прост пример, вече описан в [10] и все още се
> Грешка.
Направете същото с нов проект.
Ако има грешки при търсене listboksa - код тук.
> В използва форми файл единица за този компонент?
Компилаторът няма да RegisterClass.
> По време на създаването на формата (не автоматично), който притежава
> Този компонент получите съобщение: TFDCE класа не е намерен
Делото за малки - да се намери нещо нередно с основния проект, в който една дузина форми и куп код, но е ясно, че това е моят глупости. Благодаря на всички ви, не рита много, ако след известно време отново се разсейва. За къде да копаят дори не мога да си представя: в проекта, освен показване на данни от базата данни TStringGrid нищо. Ще започне да се хвърлят, докато всички серии.
Всички хвърли освен основната форма - не работи. Съвсем случайно, никой няма идеи, отколкото можете да събаря куп RegisterClass - FindClass?
ние няма да видите кода?
> _Guest_ # XA0; (01.07.08 15:17) [22]
> Всички изхвърлен освен основната форма - не работи. напълно
> Злополука на никого няма представа какво можете да смаже един куп RegisterClass
> - FindClass?
Задръжте натиснат клавиша Ctrl и кликнете на Букаву Myshakov RegisterClass, след като гледам в нововъзникващите Букаву и мнозина мислят.
Crush да пишете кода си.
> Емпирично открих, че тази ситуация води употреби
> QControls # XA0; в един от модулите
Е, предполагам, че има RegisterClass си
Памет: 0,79 MB
Време: 0,032 гр