Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #10  
Старый 08.05.2009, 19:03
KACAH KACAH вне форума
Прохожий
 
Регистрация: 07.05.2009
Сообщения: 5
Репутация: 10
По умолчанию

Все, разобрался. По видимому проблема касается исключительно Форм(ну и других контейнеров возможно). Похоже что у форм стандартный конструктор не просто выделяет память под объект, он еще и устанавливает значения форме и всем её компонентам. Значения эти он берет в файле *.dfm. Вобщем для корректной работы конструктора нужен файл *.dfm под новый класс. Структура файла проста, можно изучить какой-нибудь *.dfm файл, созданный автоматически(есть в каждом оконном приложении), а можно просто создать форму в Дизайн-тайме, и скопировать её *.dfm файл(в этом случае поля и методы вашего класса должны быть аналогичными форме в дизайн-тайме). Также нужно добавить вначале, после implementation строку типа

Цитата:
{$R '<имя вашего файла>.dfm' :TForm(<имя вашего класса>)}

Подгрузка файла в ресурсы. Или можно просто добавить файл в проект, смысл от этого не меняется.

В таком случае вызывать конструкторы каждого элемента формы не нужно, это сделает сам конструктор ВАШЕГО КЛАССА. Создание объекта при этом ограничивается вызовом конструктора класса. Вобщем-то логично.


P.S.

Цитата:
У тебя выходит, что a и b - просто TForm в виде TMyObj. А в TForm никаких Button'ов нету. Поэтому может и ругается...
- значит по сути ты прав

Последний раз редактировалось KACAH, 08.05.2009 в 19:07.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025