Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В run-time созданная капризность 
:(
    Опции темы
December
  Дата 9.4.2004, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Greetings All!
Вот такая заморочка получается.
Ляпаю на форму компонент (AdsConnection от Advantage Database). Настраиваю, коннектюсь, всё замечательно. Пытаюсь сделать то же, создавая этот долбанный компонент в ран-тайме. Настраиваю, коннектюсь - ФИГ! Говорит, не могу найти сервер. Вроде все возможные свойства перенёс от созданного в design-time (жаль, assign не работает), вроде всё то же, но не работает. Есть идеи, почему это происходит и как это побороть? Цель манипуляций - возможность отключить директивами компиляции этот движок, если он не установлен на машине. Если кому интересно, то вот код создания компонента:
Код

AdsConnection1:=TAdsConnection.Create(form1);
AdsConnection1.AdsServerTypes:=[stADS_LOCAL];
AdsConnection1.ConnectPath:=extractfiledir(application.ExeName);
AdsConnection1.Compression:=AdsConnection2.Compression;
AdsConnection1.MiddleTierConnection:=AdsConnection2.MiddleTierConnection;
AdsConnection1.Compression:=ccAdsCompressionNotSet;
AdsConnection1.LoginPrompt:=true;
AdsConnection1.IsConnected:=false;

AdsQuery1:=TAdsQuery.Create(Form1);
AdsQuery1.DatabaseName:='AdsConnection2';
AdsQuery1.SQL.Add('SELECT * FROM mytable');
DataSource1.DataSet:=AdsQuery1;
adsquery1.Active:=true;

AdsConnection2 - созданное в дизайн-тайме, работает на ура.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
December
Дата 9.4.2004, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Хотя бы подскажите как можно заставить компонент что-то делать при его создании на форме (я сам компонентики никогда не делал, не знаю). Где порыться в поисках спрятанного кода?


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
x77
Дата 9.4.2004, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



December, я этот пакет не юзал, поэтому конкретно помочь не смогу. сорри. но вот такая мысль: у него транзакции какие-то имеются? в бде по умолчанию запускается сейшн, даже если компонент не указан, мож там тоже какая такая хрень? или это flat-file база?



--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
December
Дата 10.4.2004, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Да дело не в базе, дело в самом компоненте. ЧТО происходит при ляпании компонента на форму? Где это посмотреть? Я ведь и сессию ни в одном случае не открываю.
Но за совет спасибо, просмотрю и этот момент.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
x77
Дата 12.4.2004, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



у каждого компонента есть метод, а точнее - конструктор

constructor Create (AOwner: TObject);

у каких-то компонентов они переопределены, у каких-то нет, но вызываются все. если у тебя доступны исходники, то там и надо смотреть.

но это метод вызывается при создании компонента в любом случае, будь то run-time или design-time.

думаю, какие-то свойства ты всё-таки не ставишь. если совсем всё плохо, попробуй такую пакость: вызови

procedure WriteComponentResFile(const FileName: string; Instance: TComponent);

для компонента, созданного в дизайн-тайм и для того, который ты создаёшь в runtime. потом сравнишь файлы - там будет видно, какие свойства у них отличаются. если файлы идентичны, значит дело вообще не в свойствах. формат файлов - стандартный виндовый ресурс (*.RES)


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
December
Дата 12.4.2004, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



x77
Спасибо!
Проблему я решил, только через анус, в обход.
Исходники компонента есть, я смотрел конструктор - там нет различия между csDesigning и прочим. За совет спасибо, будет время - поэкспериментирую.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.