Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Не могу вызвать API функцию GetTempPath. Добавлено: 13.10.04 10:36  

Автор вопроса:  RomMario
делаю так:
Private Declare Auto Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

потом в процедуре:
Dim ls_TempPath As String = Space(255), ll_Buffer As Long = 255
If GetTempPath(ll_Buffer, ls_TempPath) = 0 Then
   MsgBox "API Failed!"
Else
   MsgBox (ls_TempPath)
End If
мне выдает:
Object reference not set to an instance of an object.

Хотя в 6 вб все пашет изумительно, подскажите, пожалуйста, как быть (environment не подходит)?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Gloom



Вопросов: 0
Ответов: 36
 Профиль | | #1 Добавлено: 13.10.04 13:03
Во-первых:
MessageBox.Show(System.IO.Path.GetTempPath, "GetTempPath";)

Во-вторых:
    <;DllImport("KERNEL32", CharSet:=CharSet.Unicode)> _
    Public Shared Function GetTempPath _
        ;(ByVal nBufferLength As Integer, ByVal lpBuffer As String) As Integer
    End Function

Ответить

Номер ответа: 2
Автор ответа:
 RomMario



Вопросов: 12
Ответов: 20
 Профиль | | #2 Добавлено: 13.10.04 13:49
1. Не пройдет, смотрел. Тут объяснение: http://www.rsdn.ru/Forum/Message.aspx?mid=849654
2. Пасиб, оказывается я не так интерпретировал тип данных первого параметра (Long), из-за этого не работало.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам