Как продвинуть сайт на первые места?
Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.

Ускорение продвижения
Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.



Иллюстрированный самоучитель по Visual Basic .NET

COM Interop и вызовы функций DLL. Вызовы функций DLL.

Несмотря на появление .NET, существующий код на базе СОМ еще не собирается умирать. К счастью, уровень взаимодействия с СОМ в .NET работает очень хорошо. С другой стороны, использование СОМ в проектах .NET снижает быстродействие и затрудняет сопровождение программ, поэтому эти технологии объединяются лишь при крайней необходимости.

В Visual Studio .NET взаимодействие с СОМ почти не требует усилий со стороны программиста. Просто выберите нужный объект СОМ на вкладке СОМ диалогового окна ссылок, и с ним можно будет работать как с классом .NET. Для этого IDE читает библиотеку типов СОМ и создает для объекта вспомогательный класс ("обертку") .NET. Открытыми членами этого класса являются все открытые члены объекта СОМ. Кстати, технология IntelliSense работает и для экземпляров этих классов.

Примечание
Классы объектов СОМ также создаются утилитой tlbimp.exe, входящей в .NET SDK. В частности, эта утилита удобна при одновременном построении нескольких "оберток" для использования в будущем
.

Вызовы функций DLL

Хотя при вызове функций DLL можно использовать старый синтаксис Declare, в .NET рекомендуется использовать другой способ – атрибут Dll Import, позволяющий создавать общие точки входа. Для этого в программе определяется пустая функция, совпадающая по сигнатуре с вызываемой функцией. Ниже приведен пример использования атрибута Dll Import.

Imports System.Drawing
Imports System.Runtime.InteropServices
Module Modulel
' Импортировать функцию CreateDC из Win32 API
<Dll Import("gdi32.dll")>
Public Function CreateDC(ByVal strDhver _
As String. ByVal strDeviceName As String,_
ByVal strOutput As String. ByVal nullDEVICE As Integer _)
As 'IntPtr
End Function
Sub Main()
' Создать прямоугольник
Dim rctWindow As Rectangle = New Rectangle(100, 100, 200, 200)
Dim penBlack As Pen = New PerUColor.Black)
penBlack.Brush = Brushes.DarkKham
Dim grfx As Graphics
Dim hDC As IntPtr = CreateDC("DISPLAY" .vbNullString,
vbNullString .vbNullString)
grfx = Graphics.FromHdc(hDC)
Do While (True)
grfx.FillRectangle(penBlack.Brush, rctWindow)
System.Threading.Thread.Sleep(0)
Loop
End Sub
End Module

Другое принципиальное отличие атрибута Dll Import от ключевого слова Declare заключается в том, что Dll Import позволяет лучше управлять отдельными аспектами вызова. В частности, при вызове функции можно указать конвенцию передачи параметров, и кодировку для передачи строковых параметров.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.