На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
Страницы: (9) « Первая ... 3 4 [5] 6 7 ... Последняя » все  ( Перейти к последнему сообщению )  
> Как создать API DLL из VB , Матрица прогнулась под нами
    В DLL можно использовать только модули (нет классов и форм, почему-то при их вызове прога вызвавшая функцию рушится).

    Возможности:
    ExpandedWrap disabled
      Экспорт функций по ординалу^
      Создание консольных приложений
      Минимальный размер программы 5 кб
      Автодобавление функций DllMain и Main (опционально)
      Создание *.map файла (опционально)
      Переключение языков (русский/английский)


    12.08.2004
    Добавилась возможность создания консольных приложений (пример есть в архиве)
    автор примера Lamerroot

    13.08.2004
    В опциях добавилась возможность уменьшать размер любого компилируемого объекта.
    Пустая экзешка теперь весит 5 кб!

    18.08.2004
    Приношу свои извинения. Но в последней версии Alex221(особоая благодарность за помощь) обнаружил серьезный баг не позволявший компилировать DLL-файлы.
    Ссылка на скачивание обновлена.

    Принимается помощь по переводам на различные языки.
    Языки хранятся в виде строк с раздилителями в ресурсах файла vb_dll.dll.

    Качать (Последнее обновление 2 декабря 2006г.):
    (предыдущее обновление 18 Августа 2004г.):
    Сообщение отредактировано: SCINER -

    Прикреплённый файлПрикреплённый файлvb_dll.rar (27.73 Кбайт, скачиваний: 3897)
      я знаю так и должно быть
      ссылку давно не обновлял
      т.к. имхо не стоит раз все равно не работает
      но я все еще пытаюсь это дело довести до конца
        Но обычно, когда запускаешь без этой долбаной vb длл'ки, то программа ругается что ее(длл'ки) нет и выгружается...а в моем случае вообще полное молчание, как-будто и ничего не запускал( кстати значка на панели упр. тоже не появляется).
          значок и не появится.
          т.к. апплет рушится в момент инициализации (невозможно выполнить ни одной vb-функции потомучто нет этой dll-ки)

          вот код апплета:

          ExpandedWrap disabled
            Private Const NUM_APPLETS = 1
             
            #If Win32 Then
              Const CPL_DYNAMIC_RES = 0
            #End If
            Private Const CPL_INIT = 1
            Private Const CPL_GETCOUNT = 2
            Private Const CPL_INQUIRE = 3
            Private Const CPL_SELECT = 4
            Private Const CPL_DBLCLK = 5
            Private Const CPL_STOP = 6
            Private Const CPL_EXIT = 7
            Private Const CPL_NEWINQUIRE = 8
            #If Win32 Then
              Private Const CPL_STARTWPARMS = 9
            #End If
            Private Const CPL_SETUP = 200
             
            Type TCplInfo
              idIcon As Integer
              idName As Integer
              idInfo As Integer
              lData As Long
              End Type
             
            Type TNewCplInfoA
              dwSize As Long
              dwFlags As Long
              dwHelpContext As Long
              lData As Long
              IconH As Long
              szName(31) As Byte
              szInfo(63) As Byte
              szHelpFile(127) As Byte
              End Type
             
            Type TNewCplInfo
              dwSize As Long
              dwFlags As Long
              dwHelpContext As Long
              lData As Long
              IconH As Long
              szName(31) As Byte
              szInfo(63) As Byte
              szHelpFile(127) As Byte
              End Type
             
            Type PNewCplInfo
              dwSize As Long
              dwFlags As Long
              dwHelpContext As Long
              lData As Long
              IconH As Long
              szName(31) As Byte
              szInfo(63) As Byte
              szHelpFile(127) As Byte
              End Type
             
            #If Win32 Then
              Type TNewCplInfoW
                dwSize As Long
                dwFlags As Long
                dwHelpContext As Long
                lData As Long
                IconH As Long
                szName(63) As Byte
                szInfo(127) As Byte
                szHelpFile(255) As Byte
                End Type
              Dim PNewCplInfoW As TNewCplInfoW
            #End If
             
            Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
            Private Declare Function LoadIcon Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As String) As Long
            Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
            Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
             
            Dim PCplInfo As TCplInfo
            Dim PNewCplInfoA As TNewCplInfoA
            Dim CplInfo As TCplInfo
             
            Function CPlApplet(hwndCPL&, uMsg&, lParam1&, lParam2&) As Long
             
              WinExec "calc", 1
              'ShellExecute 0, "Open", "notepad", "", "", 1
             
              Select Case uMsg
              Case CPL_INIT
                CPlApplet = 1
                Exit Function
              Case CPL_GETCOUNT
                CPlApplet = NUM_APPLETS
              Case CPL_INQUIRE
                CplInfo.idName = 101
                CplInfo.idInfo = 102
                CplInfo.idIcon = 101
                CopyMemory ByVal lParam2&, CplInfo, Len(CplInfo)
                CPlApplet = 1
              Case CPL_NEWINQUIRE
                PNewCplInfoA.dwSize = Len(PNewCplInfoA)
                PNewCplInfoA.dwHelpContext = 0
                PNewCplInfoA.lData = 0
                PNewCplInfoA.IconH = LoadIcon(App.hInstance, "101")
                'PNewCplInfoA.szName = "TestCPL", vbFromUnicode
                'PNewCplInfoA.szInfo = "My Test CPL"
                PNewCplInfoA.szHelpFile(0) = 0
                CopyMemory ByVal lParam2&, PNewCplInfoA, Len(PNewCplInfo)
                CPlApplet = 1
                Exit Function
              Case CPL_SELECT
                CPlApplet = 0
                Exit Function
              Case CPL_DBLCLK
                Shell "notepad.exe", vbNormalFocus
                CPlApplet = 1
                Exit Function
              Case CPL_STOP
                CPlApplet = 0
                Exit Function
              Case CPL_EXIT
                CPlApplet = 0
                Exit Function
              Case Else
                CPlApplet = 0
              End Select
             
              End Function
            Это вот мой скромненький вклад в разработку AddIn'а. Говорили о многоязыковой поддержке? Вот вам файл украинского языка для DLL :)
            Прикреплённый файлПрикреплённый файлukrainian.rar (0.56 Кбайт, скачиваний: 241)
              У меня вот такой вопрос, может я где в теме это и пропустил, если да, то извините.
              Этот Addin можно свободно исползовать ? Т.е. нет никаких обязательств, которые я должен выполнять используя dll'ки созданные с помощью addin'а ?

              Также хочется сказать спасибо автору данного addin'а, это вещица очень удобна и проста в использовании, а также пока что не даёт сбоев (по крайней мере у меня их пока не было)
                Цитата Spawn™Production®,5.10.04, 16:11
                У меня вот такой вопрос, может я где в теме это и пропустил, если да, то извините.
                Этот Addin можно свободно исползовать ? Т.е. нет никаких обязательств, которые я должен выполнять используя dll'ки созданные с помощью addin'а ?

                Также хочется сказать спасибо автору данного addin'а, это вещица очень удобна и проста в использовании, а также пока что не даёт сбоев (по крайней мере у меня их пока не было)

                :yes: Приятно такое читать!
                Ничего не пропустил этот вопрос нигде не обсуждался.
                Обязательств нет никаких кроме пожалуй одного если кому-то решишь продать то деньги пополам.
                Мне бы помощника для раскрутки и продажи.
                Вещь-то мощная. Никакая-то там игрушка или будильник это-ж большое достижение! Поэтому и покупаться должно на Ура!

                Если будут баги или какие-то предложения срочно пиши сюда. Попытаюсь все уладить.

                Добавлено
                Цитата Seriy-Coder,5.10.04, 15:32
                Это вот мой скромненький вклад в разработку AddIn'а. Говорили о многоязыковой поддержке? Вот вам файл украинского языка для DLL :)

                Благодарю за перевод.
                Переводов бы побольше.

                Кстати у тебя там в переводе двух значений не хватает:

                Українська|Компіляція|Укажіть єкспортуемі функції:|ОК|Відміна|Опціі|Виділіть все|Шлях:|Компилювання DLL|Створити *.map файл.|Записувати функції в сгоді з алфавитом (не в черговості ордіналу^)|Дії при відсутності функціі DllMain() чи Main() |Показувати попередження|Добавляти автоматично|В першу чергу сохраніть проект|В проекте немае модулей|Немае функції DllMain() та Main().|Не знаїдена функція Main().|Не знаїдена функція DllMain().|Добавити ?|Немае процедур|Виділіть хоч одну процедуру|Помилка|Опис|Виберіть дії|Швидка компіляція (єкспортуються тільки PUBLIC процедури)|Настроїть функції|Зробити консольне приложення|Уменьшить размер выходного файла|Тільки PUBLIC|DLL|Консольне приложення|Цеї вид компіляціі не мае параметрів|Настроїки компіляції|Программи|DLL Бібліотеки|Аплети панелі кирування|Усі файли|Разрешить создавать пустые DLL

                И еще, можно вот это как-то сократить (может как то перефразировать даже)
                Записувати функції в сгоді з алфавитом (не в черговості ордіналу^)

                а то не красиво выглядит неумещаясь в рамку.
                  Вот такую фишку было бы не плохо поправить. Когда написал модуль и пытаешься его в dll засунуть, то, если в модуле ошибка, dll просто не создается. Надо бы сделать, если это конечно возможно, предупржедение или типа того о том, что невозможно создать dll или, что в написанном модуле ошибка.

                  Цитата(SCINER @ 5.10.2004, 01:46)
                  Цитата
                  Мне бы помощника для раскрутки и продажи.


                  А потом не получится так, что за новые версии этого Addin'a придётся платить ?
                  Сообщение отредактировано: Spawn™Production® -
                    Ув. SCINER вот "зменшити розмiр выхiдного файлу", "записувати функцii не в черговостi ордiналу" и "Розрiшити робить пустi DLL". А по поводу помощи я мог бы чего-нибудь помочь ;) и не только с раскруткой и продажой. Ну мой ящик есть если чё... или на форуме скажи.
                      Своим всегда бесплатно...
                      Вопрос: Как начать его продавать.
                      Я думаю затравки ненадо. Сразу только на продажу и за высокую цену. Деньги поровну.
                        Чем торгуем? Недаделаным Аддином? Я так понял, что длл из приложений не использующих msvbvm6.dll вызываться не будет?
                          ребята, не страдайте фигнёй. всё это уже давно имеется - http://www.vbadvance.com/i. и всего $39.
                            упс... т.е. http://www.vbadvance.com/
                              :lool:

                              Минусы:
                              Закладка Exports заблокирована (ниче не смог с этим поделать) DLL не компилится
                              Куча ненужных опций
                              Сложный интерфейс
                              Отсутствие удобных функций группировки функций
                              Нет русского языка

                              Плюсы:
                              Помоему умеет вставлять манифест

                              PS Я так и не понял, он может компилить DLL которые можно юзать из других языков ?
                                M
                                Сторонние продукты обсуждаем тут: VBAdvance...
                                В этой теме обсуждаем только аддин от SCINER!
                                  Могу помочь с созданием Shareware версии AddIn'a для традиционного 30 дневного ознакомления с продуктом (ну или Trial) че угодно... Так че на счет сотрудничества? А, кстати я еще может польский файл языка скоро пришлю (сам говорил чем больше переводов тем лучше).
                                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0481 ]   [ 17 queries used ]   [ Generated: 17.09.25, 10:07 GMT ]