![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Resource TmyForm not Found
night_light © (2009-10-15 13:07:00)при создании формы (выполнении create) выскакивает сообщение "Resource TmyForm not Found", что я не сделал?
Медвежонок Пятачок (2009-10-15 15:56:00) [1]а чем визуальный дизайнер форм-то не угодил?
night_light (2009-10-15 15:50:00) [2]на самом деле я хотел вот это:
unit umyForm;
interface
uses Forms;
type
TmyForm = class(TForm)
public
...
constructor create(...);
end;
implementation
constructor TmyForm.create(...);
begin
inherited CreateNew(Application);
Visible := True;
...
end;
...
end.
unit Unit1;
interface
uses Forms, uMyForm;
type
TForm1 := class(TForm)
...
public
myForm: TmyForm;
...
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
...
end.
night_light (2009-10-15 15:40:00) [3]Удалено модератором
Примечание: Повежливее к отвечающим
Медвежонок Пятачок (2009-10-15 15:35:00) [4]ковырял ковырял. не отмажешься.
R директиву у тебя же не лунатики грохнули.
night_light (2009-10-15 15:32:00) [5]я ничего не ковырял :)
только теперь сколько нибудь толково
объяснили, как создавать форму, пробую.
Anatoly Podgoretsky (2009-10-15 15:32:00) [6]А может проще, может он просто хочет создать форму и не понимает, что надо использовать TForm, а не TMyForm
night_light (2009-10-15 15:28:00) [7]файла 'uMyForm.dfm' конечно же нет,
потому что я его не создавал, и делфи не позаботилась,
соответственно вопрос, кто должен создавать этот файл,
что нужно для его корректного создания?
в форме конечно же есть элементы контроля (по задумке),
иначе у неё пропадает смысл.
С динамическим созданием компонент всё элементарно,
создаю модуль, наследую в нём класс от имеющегося компонента,
описываю нужные мне поля, в основном модуле подключаю созданный
модуль, создаю экземпляр класса, для контролов делаю InsertControl и использую. А вот для форм надо сделать что-то ещё не очевидное мне.
Может кто скажет, что?
Медвежонок Пятачок (2009-10-15 15:19:00) [8]модуль формы и ресурс dfm имеют разные имена... :)
не обязательно.
они могут иметь одинаковые имена, но при этом их содержимое не бъет с именами
clickmaker (2009-10-15 15:17:00) [9]> не смог найти толкового объяснения по динамическому созданию
> формы.
CreateNew, если dfm нет. ну и в рантайме создавать и класть на форму все компоненты
Медвежонок Пятачок (2009-10-15 15:17:00) [10]он ковырял руками файлы проекта и все испортил
{RASkov} (2009-10-15 15:17:00) [11]> Либо модуль, где описана форма, имеет отличное имя от uMyForm.pas
не, немного не так.... правильно сказать модуль формы и ресурс dfm имеют разные имена... :)
{RASkov} (2009-10-15 15:14:00) [12]> [2] night_light © (15.10.09 15:06)
> [Error] File not found: 'uMyForm.dfm'
Либо модуль, где описана форма, имеет отличное имя от uMyForm.pas либо файла 'uMyForm.dfm' действительно нет.
> не смог найти толкового объяснения по динамическому созданию формы.
> Чем оно отличается от аналогичного создания компонента?
ничем, если не содержет дополнительных полей, таких как наприер Label1: TLabel;, Edit1: TEdit; и т.д.
которые в свою очередь и хранятся в ресурсе формы т.е. *.dfm
другими словами это корректно:
with TForm.Create(nil) do try
ShowModal;
finally
Free;
end;
будет создана и показана пустая форма у которой нет файла ресурса *.dfm....
night_light (2009-10-15 15:06:00) [13]директиву добавил, теперь компилятор ругается:
[Error] File not found: 'uMyForm.dfm'
не смог найти толкового объяснения по динамическому созданию формы.
Чем оно отличается от аналогичного создания компонента?
Может ссылочку кто кинет на нормальную статью?
Юрий Зотов (2009-10-15 13:38:00) [14]Возможно, в модуле этой формы удалена директива {$R *.dfm}