Для A.A.Z. - продолжение вопросов про DLL

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

Для A.A.Z. - продолжение вопросов про DLL

Сообщение DDimok » 22.02.2005 (Вт) 16:09

Ниже была тема про DLL (не умею вставлять ссылочки).
Спасибо за ответ и ссылку, пытаюсь разобраться ... :) Вопрос вот самый элементарный возник -
--- требуется определить точку входя для моей функции, а вот ГДЕ МНЕ ЕЕ ВЗЯТЬ (точку входа) ??? Как ее определить ? Как понять точку входя для СЛЕДУЮЩЕЙ функции ? Чесслово - непонимаю :)

Заранее спасибо :)
Дмитрий

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 22.02.2005 (Вт) 20:10

Да просто все :)
Делаешь DLL, как указано в том топике. Допустим, ты впихнул в нее функцию
Код: Выделить всё
Function Sum(Num1 As Long, Num2 As Long) As Long
Sum = Num1 + Num2
End Function
Затем выписал ее в Exporting
Код: Выделить всё
Sub Exporting()
'...
Exports "Sum", AddressOf Sum
End Sub
Скомпилировал и запустил. Теперь она у тебя, допустим, C:\Project1.dll. Открываешь новый проект и вверху (в самом верху) пишешь:
Код: Выделить всё
Private Declare Function Sum Lib "C:\Project1.dll" Alias "Sum" (Num1 As Long, Num2 As Long) As Long
А потом, скажем, в процедуре Form_Load() используешь ее:
Код: Выделить всё
Sub Form_Load()
MsgBox Sum(100, 200)
End Sub
Готово! :)

ЗЫ афтар - не я, это - GSerg, tyomitch и daniel lo nigro. Так что спасибо не мне, а им :)

DDimok
Новичок
Новичок
 
Сообщения: 40
Зарегистрирован: 29.06.2004 (Вт) 14:45
Откуда: Москва

Сообщение DDimok » 22.02.2005 (Вт) 20:28

Ага, но ... А где по умолчанию Excel ищет DLLки ? Че-то я уже их во все места понасовывал, а резалта - ноль :)
(Это к тому, что путь в объявлениях не хочу указывать, вдруг он смотрит на c:\ мои документы\ ...\application data\ excel\xlstart или
где еще ?
Дмитрий

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 22.02.2005 (Вт) 20:48

В system32, кажись... :roll:

DDimok
Новичок
Новичок
 
Сообщения: 40
Зарегистрирован: 29.06.2004 (Вт) 14:45
Откуда: Москва

Сообщение DDimok » 22.02.2005 (Вт) 21:09

Блиииин, точно ... :) Последнее место куда я его не засовывал :) ДАже в C:\WINDOWS\system32\dllcache\ запихнул, вот повыше - недогадался :))) Туповат :)
Спасибо за терпение и ответы :)
Дмитрий

Андрей Васюта
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 91
Зарегистрирован: 20.07.2004 (Вт) 19:40

Сообщение Андрей Васюта » 25.02.2005 (Пт) 16:39

A.A.Z. писал(а):Да просто все :)
Делаешь DLL, как указано в том топике. Допустим, ты впихнул в нее функцию
Код: Выделить всё
Function Sum(Num1 As Long, Num2 As Long) As Long
Sum = Num1 + Num2
End Function
Затем выписал ее в Exporting
Код: Выделить всё
Sub Exporting()
'...
Exports "Sum", AddressOf Sum
End Sub
Скомпилировал и запустил. Теперь она у тебя, допустим, C:\Project1.dll. Открываешь новый проект и вверху (в самом верху) пишешь:
Код: Выделить всё
Private Declare Function Sum Lib "C:\Project1.dll" Alias "Sum" (Num1 As Long, Num2 As Long) As Long
А потом, скажем, в процедуре Form_Load() используешь ее:
Код: Выделить всё
Sub Form_Load()
MsgBox Sum(100, 200)
End Sub
Готово! :)

ЗЫ афтар - не я, это - GSerg, tyomitch и daniel lo nigro. Так что спасибо не мне, а им :)


Побольше бы таких объяснений с примерами, ато новичкам трудновато разобраться самим.
Большой программе - большие глюки.

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

Сообщение GSerg » 25.02.2005 (Пт) 17:54

А между тем, разбираться самим - это самое интересное...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 25.02.2005 (Пт) 18:13

GSerg писал(а):А между тем, разбираться самим - это самое интересное...
И одновременно очень полезное. Пока сам не разберешься, ничего путного не получится. :lol:


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 29

    TopList  
cron