Тема / Topic: Проблема с передачей строк из внешней DLL
shugai
Active Forum Member / Активный участник форума
Участник № / Member № 1285
отправлено / posted
Добрый день! Ответьте пожалуйста на пару вопросов! 1 вопрос. Я написал фиблиотеку dll на Delphi. Функции с числовыми аргументами работают коректно, а вот функции в которые передаются строки, нет. Ни как не могу передать строку в функцию dll библиотеки. Или же наоборот не могу строковому аргументу процедуры присвоить какое либо значение. Например, процедура XXX(var s1,s2:string), s1,s2 передаются по ссылке в процедуре например я хочу присвоить s1='123' s2='456' Это присваивание не идет. Пробовал писать как XXX(var s1,s2:PChar)? Тоже не идет. В обычном делфи проекте все функции библиотеки работают. Как быть? Что посоветуете?
2 вопрос. Почему в ТМ фигурирует тип string, а когда описываю функцию dll библиотеки в типах возвращаемого значения нет типа string.
В dll нужно использовать WCHAR. С ним так же как с char можно работать. Этим типом кодируются символы unicode. А перевод из WCHAR в char производится функцией WideCharToMultiByte.
Тужиков Олег
Junior Member / Новичок
Участник № / Member № 2822
отправлено / posted
Уважаемая тех. поддержка! Немогли бы Вы сообщить мне координаты Майбороды Алексея. Или переслать мой адрес pir34@mail.ru для проведения переговоров.
Сообщения / Posts 9 | Из / From: Россия
| IP / IP: IP адрес / IP address |
shugai
Active Forum Member / Активный участник форума
Участник № / Member № 1285
отправлено / posted
Здравствуйте. У меня следующая проблема. Я написал dll библиотеку для обмена СМС сообщениями. В этой библиотеке есть функция по приему СМС. В аргумент программы типа String записывается текст сообщения. Для вывода на экран я использую коментарий канала hex16. На экране текст СМС не выводиться, хотя в аргументе программы текст содержиться. Почему не выводиться текст? Может быть это связано с длиной текста, так как аргумент программы типа String, в который записывается номер отправителя СМС, таким способом выводиться на экран.
Сообщения / Posts 93 | Из / From: Россия
| IP / IP: IP адрес / IP address |
shugai
Active Forum Member / Активный участник форума
Участник № / Member № 1285
отправлено / posted
Если текст СМ короткий (например 10 символов ), то текст СМС выводится, если СМС содержит большое кол-во символов (например, 40 символов), то такая смс уже не выводится. Аргументы экрана привязаны к аргументам программы.
Сообщения / Posts 93 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Вам надо ограничить СМС 39 символами, иначе атрибут комментарий не воспринимает строку.
Сообщения / Posts 17314 | Из / From: Россия
| IP / IP: IP адрес / IP address |