Не удается создать DLL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
yu13
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 17.06.2005 (Пт) 13:40

Не удается создать DLL

Сообщение yu13 » 17.06.2005 (Пт) 14:06

Помогите советом.
ActiveX DLL проект полностью компилируется и в отладке все работает.
Но не удается создать готовый файл .DLL
При попытке это сделать выдает ошибку:

Variable uses a type not supported in Visual Basic (Error 458)

При этом не локализует место ошибки.

Все переменные в проекте описаны.
Option Explicit стоит в каждом модуле.
В ссылках установлены только OLE Automation и ADO.
Самое "экстраординарное" что я использую - это недокументированная функция Function ObjPtr(Ptr As Unknown) As Long
из модуля VBA._HiddenModule.

У меня когда-то было что-то подобное, но не помню как вышел из положения.

Буду благодарен за все советы...

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.06.2005 (Пт) 14:29

Хм... У меня такое было, ( помоему ) когда были вставлены API функции, а параметрыами у них вставлены типовые пременные.

Т.е например

Type RECT
....
End Type


А вообще - если не сложно, покажи код. :wink:

yu13
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 17.06.2005 (Пт) 13:40

Сообщение yu13 » 17.06.2005 (Пт) 14:40

Вот все API ф-ии которые там присутствуют:

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)

Private Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Re: Не удается создать DLL

Сообщение d3drm » 17.06.2005 (Пт) 16:18

yu13 писал(а): Function ObjPtr(Ptr As Unknown) As Long


по ходу в этом ка раз трабл. попробуй перекомпилировать без етого, если заработает, значит я прав.
ХЎ

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

Сообщение tyomitch » 17.06.2005 (Пт) 20:03

d3drm, ты конкретно не въехал.

ObjPtr - это стандартная функция VB. "Перекомпилировать без неё" невозможно.
Изображение

yu13
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 17.06.2005 (Пт) 13:40

Сообщение yu13 » 20.06.2005 (Пн) 15:41

Разобрался в чем дело. Оказывается VB не переваривает описание параметров функции:

Код: Выделить всё
, Optional Default As Variant = Null


Пришлось делать следующее:

Код: Выделить всё
, Optional Default As Variant
...
If IsMissing(Default) Then Default = Null


Странно, ведь если VB считает это ошибкой, то проект должен был сваливаться при отладке.
Однако, как я уже говорил проект полностью компилировался и работал в отладке.


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

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

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

    TopList