|
|
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, если заменить Код: plaintext 1. на Код: plaintext 1. что будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 16:17 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Тогда так Код: plaintext 1. Или в делфи Код: pascal 1. Указатель на строку будет в eax, так что смотри сами. Лучше передавать данные через параметры, а не как результат функции - так надежнее будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 16:22 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)SQL-Talker, если заменить Код: plaintext 1. на Код: plaintext 1. что будет? Тоже самое - падает на вызове функции из DLL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 16:24 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
Обернул код в Delphi в try .. except - получается что при вызове этой DLL из C++ там (в dll) вываливается Access Violation Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Спотыкается на строке Pointer(Result) := nil; Если ее убрать, спотыкается на Result := ... Т.е. что-то не так с Result При этом если эту DLL вызвать из проекта на Delphi же все работает норм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 16:33 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Pointer(Result) := nil; финализирует переданную строку я предположил что там мусор, когда задал вопрос 21925071 но ... сделайте ассемблерный листинг, гнуса нет посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 17:08 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker Код: pascal 1. Убрать. Это потенциальная утечка памяти. Вызывать так Код: plaintext 1. 2. Далее, адреса &bstr и @Result должны совпадать. Проверьте это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 17:28 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, А тебя не смущает, что у тебя заголовки функций на Delphi и си они разные? В си ты передаешь 2 параметра (один BOOL, другой указатель и ничего не возвращаешь), а в делфи один параметр и один возвращаешь в результате? С чего бы должно работать-то? Стек поганишь само собой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 17:30 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
ziv-2014, Вот тут _Vasilisk_ пояснял эту особенность: 21924280 Эта схема у меня работает на функциях без пходящих параметров, затык случился с функцией, у которой есть входной параметр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 18:00 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Pointer(Result) := nil; - убрал в C++ вывожу адрес: Код: plaintext 1. все Ок в DLL вывожу адрес: Код: pascal 1. Если DLL вызывать из Delphi-кода, то отображается 16-ричное число А если из C++ то показывает строго 1 (единицу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 18:05 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Посмотрел. Для stdcall Result передается как первый параметр. Т.е. импорт должен быть таким Код: plaintext 1. и вызов Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 18:08 |
|
||
|
DLL - Написать DLL, в ней функцию, которая возвращает массив записей.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Взлетело! Вы просто волшебник )) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2019, 18:18 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2039273]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 322ms |

| 0 / 0 |
