Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2016, 03:04   #1
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию Pachr в Delphi 7 и XE7

Всем привет. Ситуация такая, пишу библиотеку для приложения, которое написало вроде как на delphi7.


Пишу библиотеку на Delphi XE7. Но наткнулся на проблему с входящими данными.

Входящие данные выглядят в виде строки из цифр и англ букв.

Код функции библиотеки

Код:
function testDlllFunc(sKey: PChar): PChar; stdcall;
begin

ShowMessage(sKey);

end;

Но входящие данные библиотекой воспринимаются не корректно, а в виде каких то китайских символов.

Пример входящих данных
23CFDDDD52EA2AFF2DB2DD456198C75ADE2 66E372B8B809C55C976637313131

Пример сообщения прикрепил к посту.

Подскажите, пожалуйста, в чем может быть загвоздка ??
Изображения
Тип файла: jpg delphi_error.jpg (53.2 Кб, 112 просмотров)

Последний раз редактировалось -Jack-; 17.10.2016 в 03:06.
-Jack- вне форума Ответить с цитированием
Старый 17.10.2016, 08:03   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

PAnsiChar ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.10.2016, 09:52   #3
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Поменял на PAnsiChar

Код:
function testDlllFunc(sKey: PAnsiChar): PAnsiChar; stdcall;
var
ResString: STring;
begin

ShowMessage(sKey);
...
ShowMessage(ResString);
Result:=PAnsiChar(ResString);

end;
Сработало, теперь входящие данные воспринимает правильно. Но, результат функции передает не верно:
ResString - строка, которая имеет приблизительно такой же формат, что и sKey.


Но когда библиотека передает результат, программа видит только первый символ строки ...
-Jack- вне форума Ответить с цитированием
Старый 17.10.2016, 09:58   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
ResString: STring;
Чего не AnsiString? String юникодный
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.10.2016, 23:13   #5
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Аватар, спасибо огромное, с AnsiString заработало ...

Но к сожалению вернулся к тому, от чего уходил.

Код:
Access violation at address 0A2553A5

Код:

function testDlllFunc(sKey: PAnsiChar): PAnsiChar; stdcall;
var
myInt: integer;
param: String;
begin
param:= sKey;

myInt:=StrToInt('x' + Copy(param, i, 2)); // Ошибка

При небольших нагрузках, всё работает нормально. Но при повышенных нагрузках, с теми же данными, вылезает ошибка ...
-Jack- вне форума Ответить с цитированием
Старый 21.10.2016, 05:31   #6
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

-Jack-
Ты не с полисом ОМС играешься? Если да Напиши подскажу.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 27.11.2016, 02:01   #7
VerdanaCe
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 1
По умолчанию

Цитата:
Сообщение от BARNEY Посмотреть сообщение
-Jack-
Ты не с полисом ОМС играешься? Если да Напиши подскажу.
Я с полисами ОМС играюсь) Как с тобой связаться?
VerdanaCe вне форума Ответить с цитированием
Старый 27.11.2016, 12:41   #8
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Аська, есть почта barney (гав) list.ru.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компонент Ribbon, Delphi xe7 SASFM Общие вопросы Delphi 2 06.04.2016 19:55
Видеоуроки по Delphi xe7 SASFM Общие вопросы Delphi 11 20.01.2016 22:21
TLabel в Delphi xe7 SASFM Общие вопросы Delphi 0 06.01.2016 19:19
Установка на Embarcadero RAD Studio XE7 -->DevExpress VCL 14.1.2 XE7 xxbesoxx Свободное общение 4 03.06.2015 21:54
Delphi 7 Speech API ошибка в Delphi XE7 nobobic Общие вопросы Delphi 0 03.06.2015 13:17