Прошу прощения, но вот счас пытаюсь понять как работать с этой функцией - VB падает 2й раз!!!ANDLL писал(а):UuidToString, нормально надо объявить...
Option Explicit
Private Declare Function StringFromGUID2 Lib "ole32.dll" (rguid As Guid, ByVal lpsz As Long, ByVal cchMax As Long) As Long
Private Type Guid
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Private Sub Form_Load()
Dim g As Guid, s As String
s = String$(100, 0)
StringFromGUID2 g, StrPtr(s), 100
MsgBox s
End Sub
Option Explicit
Private Declare Function StringFromGUID2 Lib "ole32" (rguid As GUID, ByVal lpsz As Long, ByVal cchMax As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Sub Main()
Dim g As GUID
With g 'IID_IPicture
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With
Dim s As String: s = Space(40)
StringFromGUID2 g, StrPtr(s), Len(s)
Debug.Print s '{7BF80980-BF32-101A-8BBB-00AA00300CAB}
End Sub
Это я поискал что-то похожее на видимую мной структуру... От безысходности...GSerg писал(а):Какое внешнее приложение?
Причём тут .NET?
Если .NET причём, то почему бы не Guid.ToString?
1. .NET нипричем.GSerg писал(а):Картинка с народа...
Эх...
Ещё раз.
[cut]Причём здесь .NET и[/cut] какое ещё внешнее приложение?
Если б все так просто... VB сразу начинает ругаться на все. А при присвоении типа ANY - я уже сказал, что я получаю...tyomitch писал(а):Medved_, блин, просто удали объявление типа GUID у себя тогда.
БД документооборота. Ядро писал не я. Написано на С#.GSerg писал(а):То есть ты работаешь сам не знаешь с чем?
Medved_ писал(а):Все!
Medved_ писал(а):Если б все так просто... VB сразу начинает ругаться на все. А при присвоении типа ANY - я уже сказал, что я получаю...tyomitch писал(а):Medved_, блин, просто удали объявление типа GUID у себя тогда.
Private Declare Function StringFromGUID2 Lib "ole32" (Byval LPrguid As long, ByVal lpsz As Long, ByVal cchMax As Long) As Long
StringFromGUID2 VarPtr(g), StrPtr(s), Len(s)
Medved_ писал(а):2GSerg: Для Вашего сведения .NET это не только C# тамже есть и VB.NET
Medved_ писал(а):Я ж говорю - ИД это не мой класс! Это я получаю из внешней ДЛЛ!
эта бодяга не подключается ч/з ДЛЛ, она зарегена в Виндах с помощью "Microsoft.NET\Framework". И с помощью ф-ии "CreateObject" я создаю объект класса "Документ"...GSerg писал(а):Из какой dll? Как подключена?Medved_ писал(а):Я ж говорю - ИД это не мой класс! Это я получаю из внешней ДЛЛ!
Medved_ писал(а):2tyomitch: А где это в ОбъектБровзер??? Я ж говорю - ИД это не мой класс! Это я получаю из внешней ДЛЛ! И его тип - Variant/GUID - как видно на рисунке!
Ничего я там не вижу... А что должен?tyomitch писал(а):Нажми F2, он появится.Medved_ писал(а):2tyomitch: А где это в ОбъектБровзер??? Я ж говорю - ИД это не мой класс! Это я получаю из внешней ДЛЛ! И его тип - Variant/GUID - как видно на рисунке!
Так что ты там видишь?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83