|
|
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Подключаю к проекту в AccessXp сторонний компонент, невизуальный,(работает номана). Компонент - это класс. Переменные могу объявить, например: Dim objFTP As DevPowerFTP.FTP. А вот когда: Set objFTP = New DevPowerFTP.FTP - не хочет, ругается на New. Когда пишешь New, потом список доступных объектов высвечивается и там этого FTP не видать. Объясните мне, это получается что можно написать невизуальный компонент, который не захочет создаваться динамически, а токо кидать его на форму на этапе проектирования??? или он все таки должен уметь созадаваться динамически коль зовется классом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 18:27 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Несколько наводящих вопросов: Что из себя представляет компонент, DLL-ку, содержащую класс? В чем написана и где "работает номана"? На нее установлена ссылка? В ObjectBrouser видна? В DevPowerFTP.FTP, DevPowerFTP - имя класса, а FTP дочернего класса? Может класс создан как глобальный? Т.е. обращаться к его свойствам и методам нужно напрямую, как, например, к объекту Application? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 18:54 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Объясните мне, это получается что можно написать невизуальный компонент Гыыы Это называется Public Not Createble (в VB) Ты еще попробуй DAO.Recordset так создать, тоже будешь удивлен. Хоть его и на форму то нельзя кидать. Или, еще лучше, напиши Set asdf = New Object ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 19:45 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
2Анатолий: Этот компонент - ocx. DevPowerFTP - название библиотеки, в ней несколько Enum и класс FTP с методами и свойствами (правда еще зачем-то есть класс - pagGeneral - абсолютно пустой) 2Лох Позорный: Слушай, обыдно понимаешь, да... нафиг так делать для обычного невизуального компонента. С Recordset понятно, он сам себе не принадлежит, там строгая иерархия, ну а тут то что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 09:54 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
1 ocx должна быть зарегистрирована в винде делается это с помощью regsvr32 2 ссылка на этот ocx должна быть прописана в референсах если вышеуказанное сделано и данная библиотека подходит для использования то объекты библиотеки должны появиться браузере объектов и появиться в конструкторе после Set objFTP = New кроме того необязательно декларировать так как у тебя Dim objFTP As DevPowerFTP.FTP можно оставить variant или декларировать как обект Dim objFTP Dim objFTP as Object ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:10 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Да, все выше указанное проделано. И так тоже пробовал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:17 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
кинь библиотеку мне на мыло - посмотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:20 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Да с каких пор ocx-ы можно создавать с помощью конструкции Set asdf = New чтототам? Или я чего-то не понимаю? 2 SergeySV Примерно так: если компонент можно кидать на форму - то он уже визуальный. Может, он и невидимый, но это пофиг. Кроме как кидать на форму с ним работать не получится. Слушай, обыдно понимаешь, да Абыдна канешна! А что делат? Ты уж претензии к разработчикам этого контрола кидай - зачем они его сделали контролом, а не обычным COM-объектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:22 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
да, наверное Лох прав ocx это ведь библиотека контрола а не COM объекта. а контролы не могут быть отдельными обектами и их надо создавать на формах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:28 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
2Лох Позорный: Хмм... значит говоришь сделали контролом, а не обычным COM-объектом... Почему у меня сомнения-то возникли: смотрю я на Mswinsck.ocx - ocx, на форму кладется и сам невидимый(ну точь в точь как этот FTP), а через New пожалуйста создавай не хочу, проблем нет. 2АлексейК: скинул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:34 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
2 SergeySV Ну значит и так бывает. Жизнь прекрасна и удивительна. Объект либо Createble, либо нет. Он либо кидается на форму, либо нет. А уж визуальный он или нет - дело десятое. Как его написали - так руки и оборвать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 10:59 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Да уж, потому самому и хотелось написать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 11:07 |
|
||
|
Классы... просветите недалекого
|
|||
|---|---|---|---|
|
#18+
Спасибо АлексейК. С его помощью выход был найден. В своем обсуждении мы совсем забыли про замечательную функцию CreateObject. Вот такой пример будет работать: Dim ctl As DevPowerFTP.FTP Set ctl = CreateObject("DevPowerFTP.FTP") Debug.Print ctl.Version ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2003, 14:40 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1679617]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 326ms |

| 0 / 0 |
