Проблема с CreateDialogParam

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Проблема с CreateDialogParam

Сообщение BV » 08.01.2005 (Сб) 1:15

Всех с наступившим! :)
У меня тут есть один вопрос: :arrow:

Ситуация такая - я путём LoadLibraryEx загружаю hInstance к.л. программы или библиотеки (далее ФАЙЛ), потом гружу с него имена ресурсов Dialog с функцией EnumResourceNames и делаю следующее:

Код: Выделить всё
Public Function ShowDialog(ByVal strResName As String, PicDisp As PictureBox) As Boolean
   hDialog = CreateDialogParam(hModule, strResName, PicDisp.hwnd, 0, 0) 'ERROR!!! ОШИБКА!!!
   If IsWindow(hDialog) Then
   Call ShowWindow(hDialog, SW_NORMAL)
   ShowDialog = True
   Else
   ShowDialog = False
   End If


и так далее...

Проблема в том, что если этот ФАЙЛ кривой (ну не грузятся с него ресурсы как положено :roll: ), то функция CreateDialogParam вызывает сообщение типа "ПРОГРАММА ВЫПОЛНИЛА НЕДОПУСТИМУЮ ОПЕРАЦИЮ... И БУДЕТ ЗАКРЫТА!!!" :evil: А вот как проверить этот ФАЙЛ на кривость перед вызовом функции CreateDialogParam я не знаю :cry: :cry: :cry:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 08.01.2005 (Сб) 2:07

Ну неужели никто не поможет по теме :?:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.01.2005 (Сб) 4:48

Во-первых, почитай про ограничения loadlibrary. Узнаешь много интересного :)
Во-вторых, проверяется через FindResource...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 08.01.2005 (Сб) 22:41

Ограничения я видел, FindResource пользовался, но тут другое: во многих программах и DLL есть такой ресурс DLGTEMPLATE, который вроде должен быть окном - но в некоторых кривых программах и DLL он как раз и вызывает сбой. Тут как мне проверить :?:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 08.01.2005 (Сб) 23:08

Люди :!:
Мне ОЧЕНЬ нужно решить эту проблему. Напомню: при плохих параметрах функция CreateDialogParam вызывает критическую ошибку, а как проверить эти параметры до вызова функции я не знаю :arrow:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 09.01.2005 (Вс) 1:21

Вижу что интерес к моей проблеме огромный...


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Yandex-бот и гости: 10

    TopList