|
|
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
Пытаюсь в C++ получить строку из DLL написанной на Delphi в виде OUT параметра функции Все бы хорошо, но в полученной строке отсутствуют русские буквы. Вернее даже, получается так что отсекается хвост строки с первого же русского символа. Код DLL на Delphi Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код вызова этой функции из C++: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Если эту же DLL вызвать из программы написанной на Delphi-же, то проблем нет - русские символы не теряются. Почему при вызове из C++ происходит отсекание? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 16:15 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, почему не используете PChar? BSTR как бы для других целей (COM-библиотек)... ЗЫ: Или я что-то путаю.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 16:21 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
goldmi45, PChar = 8 бит BSTR = WideString = 16 бит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 16:28 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 16:28 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_SQL-Talker, Проблема отображения консоли. Выводите в файл А MessageBox не решит эту проблему? Как BSTR вывести в MessageBox ? В файл менее удобно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 17:21 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-TalkerКак BSTR вывести в MessageBox ? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 17:40 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, И опять огромное спасибо )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 18:11 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Попробуйте перед wcout поставить что-то типа setlocale(LC_ALL, "Russian_Russia.866"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 19:27 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, не используйте out - это бесполезно, лучше использовать var и внутри функции инициализировать переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 19:28 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
ziv-2014Попробуйте перед wcout поставить что-то типа setlocale(LC_ALL, "Russian_Russia.866");Рекомендуют так писать Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 20:01 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
ziv-2014, Спасибо! А почему var а не out? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2019, 20:11 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-Talkerziv-2014, Спасибо! А почему var а не out? Потому что out - в делфи глючный. По логике инициализация переменной должна происходить в вызываемой процедуре, но в делфи инициализация переменной происходит в вызывающей процедуре. Соответственно для других языков это будет бесполезен такой синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 14:38 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Рекомендуют так писать Код: plaintext 1. Не могу заставить это работать Говорит '_fileno' was not declared in this scope Пробовал указать #include <stdio.h> но не помогло Использую Code::Blocks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 10:07 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
SQL-TalkerПробовал указать #include <stdio.h> но не помогло Говорят , что этого достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:27 |
|
||
|
Получение в коде C++ строки из DLL написанной на Delphi
|
|||
|---|---|---|---|
|
#18+
И вот еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:29 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39836095&tid=2039263]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 382ms |

| 0 / 0 |
