Страница: 1 |
на сколько знаю я PChar - это указатель на строку или символ (P - pointer), по-моему используется в Delphi для передачи строк в длл функции так как с ними в дллях Delphi есть проблемы связанные с памятью, как работать с этим типом в вба честно говоря не знаю так как вба с указателями практически не работает... попробуйте передать строку как она есть может получится.. а стипом variant ничего не пробовали, тоесть присвоить значение этой фунции переменной типа variant? если вы имете доступ к этой длл, то заменить PChar на стринг удастса? если да, то следует изменить названия входных параметров а в самом начале программы написать FileName:=PChar(pFileName), только к модулю прийдется добавить модуль управления памятью, по-моему MemShare или что-то в этом роде. Страница: 1 |
Вопрос: PChar
Добавлено: 14.09.03 11:32
Автор вопроса: Павел | Web-сайт:
А что за тип данных PChar и какой ему есть аналог в VB6? Надо как-то
вызвать функцию из dll'ки:
function Search(Root: PChar; KeyWord: PChar): PChar;
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Артём Л.
ICQ: 280044491
Вопросов: 43
Ответов: 227
Профиль | | #1
Добавлено: 14.09.03 16:34
Номер ответа: 2
Автор ответа:
Артём Л.
ICQ: 280044491
Вопросов: 43
Ответов: 227
Профиль | | #2
Добавлено: 14.09.03 16:42
Номер ответа: 3
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #3
Добавлено: 14.09.03 16:44
Ну это я итак знаю. Удалось выяснить, что этот PChar соответствует
LPCSTR в C++. Пробовал просто в качестве параметров передавать строки,
но не получается - VB вылетает без слов. Думаю, проблема в обработке
возвращаемого значения функции (он тоже PChar). Как можно вызвать
грамотно такую функцию?
Номер ответа: 4
Автор ответа:
Артём Л.
ICQ: 280044491
Вопросов: 43
Ответов: 227
Профиль | | #4
Добавлено: 14.09.03 19:17
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 15.09.03 12:50
Теперь объявление функции такое:
procedure Search(FileName, Root, KeyWord: PChar);
Как это будет на VB6? Я пробовал так:
Private Declare Sub Search Lib "c:\mysearch.dll" (ByVal FileName As String, ByVal Root As String, ByVal KeyWord As String)
И так:
Private Declare Sub Search Lib "c:\mysearch.dll" (ByRef FileName As String, ByRef Root As String, ByRef KeyWord As String)
Ничерта не получается (
Номер ответа: 6
Автор ответа:
Артём Л.
ICQ: 280044491
Вопросов: 43
Ответов: 227
Профиль | | #6
Добавлено: 15.09.03 17:32