Передача пустой строки АПИ-функции

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Передача пустой строки АПИ-функции

Сообщение ZeroX » 18.07.2003 (Пт) 17:52

Помогите разобраться, при передаче АПИ-функции пустой строки компилятор матюкаеться :(
Каждый warning мечтает стать error'om

StaRick
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 22.07.2003 (Вт) 17:22

Сообщение StaRick » 22.07.2003 (Вт) 17:27

Попробуй написать место пустой стороки vbNull или vbNullString, тогда должна заработать

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 23.07.2003 (Ср) 9:11

Пробовал - неработает
Каждый warning мечтает стать error'om

G-Hacker
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 01.08.2003 (Пт) 15:31
Откуда: Воронеж

Сообщение G-Hacker » 01.08.2003 (Пт) 15:51

Определи переменную либо как String (это лучше всего) или как Any и задай размер длины. Н-р:
Dim F as String(или Any)
F=strings.strdom(0,1024)' для VB 6.0: string(0,1024)
и далее эту переменную ты можешь передавать в API- функцию.
Проще говоря, Win32 не совсем нравятся пустые строки и поэтому перед использованием к.л. переменной желательно задать ей размер, но не таким методом: Dim F as String*1024, это не пойдет, а как я написал выше. Если сказать правильно, надо сначала создать буфер в виде строки, куда будет помещено значение API-функции, а потом эту строку передавать. Кстати, число 1024 может быть любым.
Если я не ошибаюсь, но такой глюк появляется с такими API-функциями как GetUserName, GetComputerName и т.д. :)

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 01.08.2003 (Пт) 17:55

Огромное спасибо, только функция LookupPrivilegeValue
Каждый warning мечтает стать error'om

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Сообщение ZeroX » 15.09.2003 (Пн) 16:27

Короче проблема была совсем не в пустой строке. А в структуре (пользовательском типе) - проблему решил.
Каждый warning мечтает стать error'om


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList