Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработчик событий для формы в DLL
|
|||
|---|---|---|---|
|
#18+
Создал DLL с формой ввода (объявил OLE public, откомпилировал COM server (dll) ). В EXE-нике создаю объект Form, но не могу запустить обработчик событий, ни по READ EVANTS, ни по Show() oForms=CREATEOBJECT("fileDll.Form1") IF TYPE("oForms")='O' oForms.visible=.T. * READ EVENTS // игнорируется * oForms.Show(1) // а это, выдает сообщение: // Операция пользовательского интерфейса невозможна ENDIF Помогите, пожайлуста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 15:23 |
|
||
|
Обработчик событий для формы в DLL
|
|||
|---|---|---|---|
|
#18+
А визуальные штучки в ДЛЛ не поддерживаются.. Так что увы никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 08:05 |
|
||
|
Обработчик событий для формы в DLL
|
|||
|---|---|---|---|
|
#18+
СПАСИБО !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:07 |
|
||
|
Обработчик событий для формы в DLL
|
|||
|---|---|---|---|
|
#18+
Делается это так: 1) Создаете на лисе New Project -> New file -> выбираете каталог и имя проекта, пусть будет proj_dll 1.1) На закладке Classes, жмем кнопку New, вводим: my_CForm - имя Вашего класса Form (или FormSet) - базовый класс my_vcx - имя Вашего файла 1.2) Открываем форму на редактирование кнопкой Modify -> теперь у Вас появилась закладка Class в меню -> выбираем пункт меню Class Info -> (ВАЖНО !!!) ставим галочку у OLE Public (иначе ничего не получится) -> кнопка OK 1.3) ВАЖНО !!! Меняем свойство формы WindowType=1 (Modal -модальное). Если не поменять, то программа после Show не остановится и не будет ждать завершения окна диалога, а быстренько добежит до RETURN (при выходе из процедуры, локальная переменная со ссылкой на объект будет удалена) 1.4) Визуальными средствами, накидываете на форму разные контролы (поля ввода, кнопки и т.д.). Правите их свойства и методы, как на обычной форме. 1.5) Пункты 1.1-1.4 повторяем для всех классов (если форм в DLL несколько) 1.6) Компилируете EXE, что Вы будете вызывать в основной программе. Размер всех трех файлов (EXE, Single DLL, или Multiple DLL), будет одинаков, зато с EXE у Вас не будет проблем. После 1-го построения EXE (или DLL), можно через проект изменить режимы работы OLE сервера, из меню Project -> Project Info -> закладка Servers -> в списке Instancing выберите Single Use или Multi Use. Только не ставьте Not Createble - это запретит создание OLE-сервера !!! ----------------------------------------------- 2) Создаете рабочий проект, из которого будете вызывать EXE (или DLL) 2.1) Создаете процедуру Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=361&tid=1595805]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 345ms |

| 0 / 0 |
