Проблема с Active X

Создание, использование компонентов ActiveX
Wolfsider
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 19.08.2006 (Сб) 13:37

Проблема с Active X

Сообщение Wolfsider » 14.12.2006 (Чт) 12:30

Когда я вызываю свойство
Код: Выделить всё
UserControl.Parent.hWnd
или
Код: Выделить всё
UserControl.ContainerHwnd
из OCX контролла, то возникает Runtime Error "398" - Client Site not avieble ... как это исправить. Я видел кучу топиков, где говорилось как узнать hWnd родителя, но что то не пашет метод...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.12.2006 (Чт) 13:46

Где это пишешь? в UserControl_Initialize? В этот момент у него родителя, действительно, ещё нет.
Изображение

Wolfsider
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 19.08.2006 (Сб) 13:37

Сообщение Wolfsider » 14.12.2006 (Чт) 14:19

Оу... X_X действительно... открыл старый контрол и на ивент не посмотрел. Извиняюсь... спасибо

----

Вот только проблем меньше не стало... у меня контрол должен был динамически подгружать jpg из каталога программы, но после любых операций с CommonDialog свойство app.path и GetModuleFilename возвращаются неверно... почему? Кто - нибудь сталкивался?

---

Добавлю... параметр app.path возвращает на положение exe а путь, который был задан через commdialog.showsave... и что делать?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 14.12.2006 (Чт) 15:37

Потому что это похоже ActiveX контрол, а не юзерконтрол, встроенный в exe. Вот он и возвращает путь к ocx.
Лучший способ понять что-то самому — объяснить это другому.

Wolfsider
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 19.08.2006 (Сб) 13:37

Сообщение Wolfsider » 14.12.2006 (Чт) 15:54

Не... я запускаю программу. Делаю что надо, app.path возвращается нормально... но как только я хотя бы один раз вызову ShowSave, то потом по ходу проги, app.path возвращает не путь к exe а путь к файлу из ShowSave ...

К примеру... прога лежит в "C:\file.exe"
Нажал на Run. app.path возвращает "C:\"
Вызвал ShowSave и выбрал файл "С:\My Documents\Doc1.doc"
Теперь app.path будет возвращать "С:\My Documents"

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.12.2006 (Чт) 18:04

Ты уверен, что не путаешь App.Path и CurDir?
Изображение


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28

    TopList