Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic .NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
chiribas
12 / 12 / 2
Регистрация: 06.05.2011
Сообщений: 250
#1

Вызов функции из dll. Dll не определена в коде и подключается программно - Visual Basic .NET

30.12.2011, 12:36. Просмотров 1789. Ответов 9
Метки нет (Все метки)

Я написал простую функцию которая возвращает негатив bitmap'а

vb.net
1
2
3
4
5
6
7
8
9
10
11
Function Negative(ByVal Bmp As Bitmap)
        Dim Bmp2 As New Bitmap(Bmp.Width, Bmp.Height)
        Dim C As Color
        For y = 0 To Bmp2.Height - 1
            For x = 0 To Bmp2.Width - 1
                C = Bmp.GetPixel(x, y)
                Bmp2.SetPixel(x, y, Color.FromArgb(255 - C.R, 255 - C.G, 255 - C.B))
            Next
        Next
        Return Bmp2
End Function
создал проект - библиотека классов, вставил туда этот код

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Class Class1
Function Negative(ByVal Bmp As Bitmap)
        Dim Bmp2 As New Bitmap(Bmp.Width, Bmp.Height)
        Dim C As Color
        For y = 0 To Bmp2.Height - 1
            For x = 0 To Bmp2.Width - 1
                C = Bmp.GetPixel(x, y)
                Bmp2.SetPixel(x, y, Color.FromArgb(255 - C.R, 255 - C.G, 255 - C.B))
            Next
        Next
        Return Bmp2
End Function
End Class
и скомпилировал в "neg.dll". Как мне её подключить в своем проекте, чтобы я мог писать так
vb.net
1
2
3
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.BackgroundImage = Negative(Me.BackgroundImage)
End Sub
???
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2011, 12:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов функции из dll. Dll не определена в коде и подключается программно (Visual Basic .NET):

Вызов функции из DLL на C#, используя С++ - .NET
Есть функция в test.DLL на C#, например такая: using System; public class TestFuncClass { public int summa(int a, int b) ...

Вызов Form1 из DLL - Visual Basic .NET
Есть форма Form1 которая компилируется в DLL-файл MyDLL.dll . Этот DLL затем используется в большом громоздком приложении из-за чего очень...

Как сделать чтобы программно инжектилась DLL - Visual Basic .NET
Всем привет! Как сделать exe чтобы при нажатии на CheckBox1 инжектировалась DLL которая ранее была добавлена в проэкт! Допустим чтобы...

Использование String Tables в .dll(.dll.mui) (Для VB .NET) - Visual Basic .NET
Здравствуйте. Нужно извлечь(а потом запоковать) таблицу строк(string tables ). Допустим есть файл explorerframe.dll.mui из...

Дизассемблирование DLL, правка кода и компиляция его в DLL - .NET
ни разу не писал на c#, не пользовался monodeveloperом. сделано следующее: 1. дизассемблировал библиотеку name.dll, использовал...

.NET 4.x Как в коде DLL указывать относительный путь? - Visual Basic .NET
Привет! Ребят, кто плотно работал, либо работает с dll, подскажите пожалуйста, есть ли аналог такого кода для dll? Если в программе...

9
Eugene22
_
2344 / 1216 / 60
Регистрация: 28.10.2009
Сообщений: 4,351
30.12.2011, 12:51 #2
chiribas, через Add Reference - нажимаешь на проект выбираешь пункт Add Reference, находишь местопложение твоей библиотеки dll и добавляешь ее в проект. Потом в коде пишешь, что-то типа
vb.net
1
Class1.Negative........
0
Памирыч
Почетный модератор
20611 / 8651 / 1029
Регистрация: 11.04.2010
Сообщений: 11,008
30.12.2011, 12:57 #3
Цитата Сообщение от chiribas Посмотреть сообщение
негатив
больше позитива, как-никак 2012 на носу.

Чтобы начать пользоваться своей библиотекой, ее надо подключить в референсах:
Проект - Добавить ссылку.
Выбираешь свою.

В редакторе кода надо ее импортировать
vb.net
1
Imports<Библа>
Далее в классе формы
vb.net
1
Dim MyLib As New <Твоя библа>
Ну и в коде
vb.net
1
Me.BackgroundImage = MyLib.Negative(Me.BackgroundImage)
Я мог все перепутать конечно же

Добавлено через 43 секунды

Не по теме:

Eugene22, ты опять эту аву поставил

1
Eugene22
30.12.2011, 13:00
  #4

Не по теме:

Цитата Сообщение от Памирыч Посмотреть сообщение
Eugene22, ты опять эту аву поставил
а почему бы нет?

2
chiribas
12 / 12 / 2
Регистрация: 06.05.2011
Сообщений: 250
30.12.2011, 13:08  [ТС] #5
Хотелось бы динамически подключить.
Например рядом с моим приложением есть папка в которой лежит несколько таких dll с эффектами, при загрузки формы моя программа создаёт пункты в меню, которые соответствуют этим эффектам (эт я могу), но как сделать чтобы при нажатии на эти кнопки выполнялся эффект?
0
Eugene22
_
2344 / 1216 / 60
Регистрация: 28.10.2009
Сообщений: 4,351
30.12.2011, 13:12 #6
chiribas, почему бы все эти эффекты не определить в одной библиотеке и не мучится с динамическим подключением, а подключить один раз.
0
chiribas
12 / 12 / 2
Регистрация: 06.05.2011
Сообщений: 250
30.12.2011, 13:20  [ТС] #7
Чтобы когда придумаеш новый эффект, не надо была весь проект редактировать, а просто кинул dll в папку эффекты и всё! Так как его подключить?
0
Eugene22
_
2344 / 1216 / 60
Регистрация: 28.10.2009
Сообщений: 4,351
30.12.2011, 13:59 #8
Цитата Сообщение от chiribas Посмотреть сообщение
Чтобы когда придумаеш новый эффект, не надо была весь проект редактировать, а просто кинул dll в папку эффекты и всё! Так как его подключить?
А так никак не получится, чтобы просто в папку кинул и все. Это все равно, что сидеть, щелкнуть пальцами и вот готова программа. По любому что-то придется изменять и в случае с динамической компиляцией мороки гораздо больше.
А так ты просто добавляешь в проект библиотеки новый класс, перекомпилируешь его и кладешь новый файл библиотеки уже проект приложения на место старого
0
chiribas
12 / 12 / 2
Регистрация: 06.05.2011
Сообщений: 250
30.12.2011, 14:31  [ТС] #9
Цитата Сообщение от Eugene22 Посмотреть сообщение
А так никак не получится, чтобы просто в папку кинул и все.
vb.net
1
IO.Directory.GetFiles("Effect", "*.dll", IO.SearchOption.TopDirectoryOnly)
- получаеш все файлы в папке Effect, и в цикле добавляеш пункт меню с именим N-ного по сщету файла, и както подключаеш. Вот только как?
0
Eugene22
_
2344 / 1216 / 60
Регистрация: 28.10.2009
Сообщений: 4,351
30.12.2011, 15:47 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от chiribas Посмотреть сообщение
получаеш все файлы в папке Effect, и в цикле добавляеш пункт меню с именим N-ного по сщету файла, и както подключаеш.
Динамическая компиляция описывалась тут. Хотя не думаю, что тебе это сильно поможет.

Добавлено через 20 минут
Плюс еще в этом посте можешь посмотреть
3
30.12.2011, 15:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2011, 15:47
Привет! Вот еще темы с ответами:

Unable to load DLL (oci.dll). Help! - .NET
Всем привет! в чем может быть ошибка?... также ругается на вот эту строчку - oracleDataAdapter1.Fill(dataSet11); Server Error in...

DLL в DLL в качестве ресурса - Visual Basic .NET
Имеется несколько DLL (NET) D1, D2, D3. D1 использует D2 и D3. Можно ли D2 и D3 разместить в D1, например в виде ресурса. Какие здесь могут...

TaoFramework: не удается загрузить DLL "freeglut.dll" - .NET
Не удается загрузить DLL &quot;freeglut.dll&quot;: Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) Все подключено но выдает это ...

Как в своей DLL использовать функции из Microsoft.VisualBasic - Visual Basic .NET
Доброго времени суток! Создаю свою Dll и столкнулся с проблемой: не поддерживаются многие стандартные функции, такие как: Mid, Str,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru