|
|
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, смотрю на пример создания DLL http://vbcorner.narod.ru/faq/dll.html Здравствуйте, хотел узнать когда создам DLL есть возможность как то её запаролить на использование, на открытие. И вообще какой прогой можно внутрь DLL заглянуть? Скомпилировал Создалось три файла: 1TestDLL.dll 2TestDLL.lib 3TestDLL.exp Зачем нужны 2 и 3 й?? код там у меня в dll простенький Код: plaintext 1. 2. 3. 4. Private Declare Function GetPadeg Lib "TestDLL.dll" Alias " GetFIOPadegFSAS " (ByVal a As Integer, ByVal b As Integer) As Integer Вместо подчёркнутого что писать??? И остальное правильно? и откуда оно порождается? нет ну когда такое простое а Интежер, в Интежер, что будет понятно, а если сложный код?? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 18:58 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
сочиняю смотря на всякие примеры Declare Function "TestDLL.dll" (a As Integer, b As Integer) As Integer чего-то уж сильно коротко, да и всю строку выделило красным Как же правильно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 14:33 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
правильно - почитать о Declare, а не ждать, что кто-то будет хелп перепечатывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 15:28 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
понятен только пункт № 2 'синтаксис объявления API-функции '1 Имяфункции. Имя функции или процедуры, под которым она будет доступна в коде Visual Basic-программы. 'Используют настоящие имена функций (как они определены в DLL-библиотеке) или псевдонимы, которые должны быть определены с помощью зарезервированного слова Alias. '2 ИмяDLL-файла. Имя DLL-файла библиотеки, где содержится объявляемая функция. '3 СписокПарамегров. Параметры функции или процедуры. Типы параметров должны быть совместимыми с С-типами, используемыми в API-функциях. '4 ИмяТипа. Определяет тип возвращаемого функцией значения. Есть в хелпе примеры Declare Sub First Lib "MyLib" (X As Long) Очень странно где намёк на файл *.dll ?? и откуда они родят First?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 15:49 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Если тебе непонятно написанное по-русски, то тебе не сюда, а на форум.... ну скажем детского развития. И вообще подключи ее через References и отстань от Declare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 16:20 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, ОК, без декларирования попробовал - нормально Но всё же нужно с декларированием, как - мне не доходит конечно, мне понятно, что строка декларирования будет выглядеть примерно так: Declare Function Sum "TestDLL.dll" (a As Integer, b As Integer) As Integer то есть из набора Sum "TestDLL.dll" a As Integer b As Integer пробовал опять всё красным выделело, то есть не справляюсь а в идеале мне будет нужно, три входных параметра As Integer, там в DLL крутит, вертит, на выходе 5 параметров String Как сделать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 17:32 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Читать хелп по Declare Если ты на свое усмотрение выкидываешь их декларирования обязательные слова, то можешь дальше медитировать на красный цвет года два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:01 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, [Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type] 1 понятно - Public 2 понятно - Function 3 name - Обязательный параметр. Любое допустимое имя процедуры. Обратите внимание, что точки DLL вступления чувствительны к регистру. В сообщение от вчера, 18:58 как оно зовётся?? У меня вариант один - Sum, так??? Потом двинусь дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:14 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
HELPЛюбое допустимое имя процедуры. Ципихович ЭндрюУ меня вариант одинну ничем помочь не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:25 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, тест на красное прошло успешно Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:50 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Я практически сам ничего не делал, только пользую изредка по готовым примерам, но вот например тут всё понятно: Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:51 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Hugo121, >но вот например тут всё понятно: понятно и незыблемо, только "winmm.dll" - это название файла имеющегося в С:\виндовс\систем32 остальное Код: plaintext Код: plaintext Почему в одном случае после параметров есть 2() As Long есть что-то в другом ничего?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 18:57 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюНа первой осечкаShocker.ProИ вообще подключи ее через References и отстань от Declare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:10 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, легко, но этим буду пользоваться не только я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:11 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрюоткуда берётся например GetMem4??? Почему в одном случае после параметров есть 2() 11278172 откуда берется Окна_кнопки и почему в скобочках ничего нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:12 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюShocker.Pro, легко, но этим буду пользоваться не только я я сказал, как сделать, а чтобы понимать, почему так, тебе надо вникнуть в основы ООП. А ты пока не разобрался, чем отличается процедура от функции и что такое параметр. Так что пока займись вещами попроще, чем классы и dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:14 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, нашёл я у себя внятный пример, буду раскуривать вот это Private Declare Function GetPadeg Lib "Padeg.dll" Alias "GetFIOPadegFSAS" _ (ByVal pFIO As String, ByVal nPadeg As Long, ByVal pResult As String, ByRef nLen As Long) As Integer Но тогда в это части вопроса подскажите И вообще какой прогой можно внутрь DLL заглянуть? Я пробую открыть ВБ6, говорит N:\Padeg.dll could not be loaded - то есть не может быть загружен, почему??? отсюда тоже часть из моего вопроса: когда создам DLL есть возможность как то её запаролить на использование, на открытие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:30 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюИ вообще какой прогой можно внутрь DLL заглянуть?HEX-редактором, ASM-отладчиком... тебе зачем?Ципихович ЭндрюЯ пробую открыть ВБ6, говорит N:\Padeg.dll could not be loaded - то есть не может быть загружен, почему???попробуй загрузить JPG-файл. Когда не получится - спроси себя - почему. Про DLL-ответ будет примерно такой же.Ципихович Эндрюесть возможность как то её запаролить на использование, на открытиев пределе - нет )) можно просто осложнить доступ к ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:36 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, >HEX-редактором, ASM-отладчиком, спасибо буду гуглить >тебе зачем? а как, например здесь разобраться, если все концы ведут в библиотеку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 19:50 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
качнул, поставил отсюда http://www.softsoft.ru/development/other/47729.htm такая ересь, и кодировать не нужно Юстас Алексу 00 99 89 87 90 - и так много много раз, есть в чём то возможность типа как в блокноте смотрим модули ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2011, 20:15 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Есть такие утилитки, например DllView - можно посмотреть структуру DLL, входящие в нее функции, есть внятная ссылка на эту прогу, или может зальёте, если есть русская, поставил несколько, ничего не понятно, не вижу привычного File, чтобы открыть dll файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 10:27 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрю, а что Вы хотите увидеть в DLL? Название экспортируемых функций - да, адреса расположения в библиотеке, шестнадцатиричный код, может быть еще список системных вызовов. Вам-то это зачем? Что даст? Исходный код на VB Вам не покажут:-) Библиотека уже скомпилирована в двоичный код. Чисто поиграться? Держите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 10:52 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
kuklp, спасибо, доходчиво Чисто поиграться? - да нет же есть в чём то возможность типа как в блокноте смотрим модули - я так понял, пролёт??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 11:05 |
|
||
|
DLL своими руками
|
|||
|---|---|---|---|
|
#18+
в принципе можете не отвечать, Ваш ответ >Исходный код на VB Вам не покажут:-) понятен, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37512824&tid=2176309]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
4518ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 4854ms |

| 0 / 0 |
