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

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

FindComponent неопределен в пакете


Sakipiel ©   (2014-06-09 17:24:00) 

Создаю пакет, в uses есть Classes

но делфи все равно говорит что функция FindComponent - Undeclared identificator - как так что ей нада как быть?


Sakipiel   (2014-06-11 00:26:00) [1]

вопрос снимается, нужно имя присваивать свойству имя в коде.


Sakipiel   (2014-06-10 21:53:00) [2]


Constructor TStoreClass.Create(AOwner: TComponent; pProgDIR: String);
begin

 fAOwner := AOwner;
 FormAndControlList := TClientDataSet.Create(AOwner);
 FormAndControlSource := TDataSource.Create(AOwner);
 FormAndControlSource.DataSet := FormAndControlList;

 FormAndControlList.FieldDefs.Add('Parent', DB.ftString, 50, false);
 FormAndControlList.FieldDefs.Add('Name', DB.ftString, 50, true);
 // FormAndControlList.FieldDefs.Add('CompID',DB.ftString,50,false);
 FormAndControlList.FieldDefs.Add('_Index', DB.ftInteger, 0, true);

 //FormAndControlList.IndexName := '_Index';

 PropertiesList := TClientDataSet.Create(AOwner);
 PropertiesSource := TDataSource.Create(AOwner);
 PropertiesSource.DataSet := PropertiesList;

 PropertiesList.FieldDefs.Add('PropertyName', DB.ftString, 50, true);
 PropertiesList.FieldDefs.Add('PropertyValue', DB.ftString, 100, false);
 PropertiesList.FieldDefs.Add('PropertyDataType', DB.ftString, 50, false);
 PropertiesList.FieldDefs.Add('Number', DB.ftInteger, 0, true);
 PropertiesList.FieldDefs.Add('AnyValue', DB.ftBlob, 0, false);
 PropertiesList.FieldDefs.Add('_Index', DB.ftInteger, 0, true);

 PropertiesList.MasterFields     := '_Index';
 PropertiesList.IndexFieldNames  := '_Index';
 //PropertiesList.IndexName        := 'Number';

 FormAndControlList.CreateDataSet;
 PropertiesList.CreateDataSet;
 ProgDIR := pProgDIR;
end;


ну в таком случае сделал вот так, т.е. форма на которую этот компонент будет положен передается в AOwner. Ессно руками я на ту форму ничего не ложу, а пишу в методе формы

St := TStoreClass.Create(Self, ExtractFilePath(Application.ExeName));

и когда мы доходим до  if TClientDataSet(fAOwner.FindComponent(NameDataSet)).FieldByName(NameParametr)
   .value = Null then


то
fAOwner.FindComponent(NameDataSet)).

возвращает мне nil

короче легче не стало.


Ega23   (2014-06-10 15:42:00) [3]

FindComponent - это не функция, это метод класса TComponent.

Посмотри внимательно, может где переопределил?


brother   (2014-06-09 17:41:00) [4]

Form1.FindComponent ?


Наверх

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