|
|
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Привет форумчанам. Помогите с динамической загрузкой 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 10:51:49 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 10:53:28 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Valdemarius Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 11:00:49 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
и да, строки так не передаются. Надо в DLL добавить менеджер BorlandMM, если это твоя DLL. А если не твоя, то STRING в DLL передавать нельзя. Надо PChar, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 11:01:49 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
defecatorи да, строки так не передаются. Надо в DLL добавить менеджер BorlandMM, если это твоя DLL. А если не твоя, то STRING в DLL передавать нельзя. Надо PChar, например Если это его DLL то и stdcall не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:22:05 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Код: 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Функция в DLL: Код: 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. 28. 29. 30. 31. После выполнения функции, подтягиваемой из DLL и получения результата - вываливается ошибка "Access violation..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:31:56 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Вопрос в том, что я, получается, чтобы исключить ошибку, дважды подгружаю DLL Код: pascal 1. 2. 3. 4. В этом случае выполняется функция и после ее выполнения ошибка не вываливается. Если я подгружаю только однократно, то после выполнения функции вываливается ошибка "Access..." ... а выгружаю однократно. Дважды загрузив DLL и выгрузив однократно - все ли будет правильно? Код: pascal 1. 2. 3. Про "STRING в DLL передавать нельзя" - как переработать функцию не понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:39:30 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Результат с выводом информации о версии файла я получаю в любом случае. Просто ошибку надо как-то исключить. Исключить можно дважды подгрузив DLL, но выгружаю DLL я однократно. Хотелось бы чтобы корректно работал вызов функции, корректно подгружалась и выгружалась библиотека... Наверное как у всех. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:47:34 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
ValdemariusПро "STRING в DLL передавать нельзя" - как переработать функцию не понимаю... Используй WideString. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 13:15:03 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Valdemarius Код: pascal 1. defecatorи да, строки так не передаются. Надо в DLL добавить менеджер BorlandMM, если это твоя DLL. А если не твоя, то STRING в DLL передавать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 13:16:00 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
ziv-2014ValdemariusПро "STRING в DLL передавать нельзя" - как переработать функцию не понимаю... Используй WideString. Код: pascal 1. 2. Все отлично! Благодарю Вас за помощь! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 13:24:46 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Valdemarius Код: pascal 1. defecatorи да, строки так не передаются. Надо в DLL добавить менеджер BorlandMM, если это твоя DLL. А если не твоя, то STRING в DLL передавать нельзя. Надо в DLL добавить менеджер BorlandMM - если не трудно, то подскажите, как это сделать (относительно данного примера) и какую функцию он будет выполнять? Это, насколько я правильно нашел информацию, dll. Такая же DLL есть у меня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 13:35:33 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Valdemarius_Vasilisk_пропущено... пропущено... Надо в DLL добавить менеджер BorlandMM - если не трудно, то подскажите, как это сделать (относительно данного примера) и какую функцию он будет выполнять? Это, насколько я правильно нашел информацию, dll. Такая же DLL есть у меня... Uses Sharemem первым модулем в DLL и в проекте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 14:27:44 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
schiValdemariusпропущено... Надо в DLL добавить менеджер BorlandMM - если не трудно, то подскажите, как это сделать (относительно данного примера) и какую функцию он будет выполнять? Это, насколько я правильно нашел информацию, dll. Такая же DLL есть у меня... Uses Sharemem первым модулем в DLL и в проекте Согласен. Надо быть внимательнее... В заголовке проекта DLL (библиотеки) об этом описано "комментарий на английском" ) Код: pascal 1. 2. 3. На этот счет есть (как по мне) хорошая статья на: cyberguru ru / delphi / strings-details-page8 html Благодарю schi за помощь! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 14:49:11 |
|
||
|
Передать строку в DLL
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Procedures_and_Functions_(Delphi) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 15:50:53 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2042185]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
240ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 180ms |
| total: | 480ms |

| 0 / 0 |
