Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.02.2017, 14:25
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Добрый день, коллеги! Как всегда нужна ваша помощь. C++ Код: plaintext 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.
C# Код: c# 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.
Числовое и строковое значение получил, а вот со стеком структуры застрял, чет никак не соображу. Помогите пожалуйста вытащить result из DLL. Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 15:05
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
vadipokстеком структуры что это? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 15:46
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропилvadipokстеком структуры что это? Не придирайтесь плиз к словам, я в терминологии С++ не силен. Как передать result c тремя struct внутри? Основной вопрос такой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 16:32
|
|||
---|---|---|---|
|
|||
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропилvadipokстеком структуры что это?std::queue<PERSON> result; это вроде очередь ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 16:42
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Roman MejtesИзопропилпропущено... что это?std::queue<PERSON> result; это вроде очередь Парни, да без разницы как она там называется. Можете предложить что-то другое для решения этой задачи. Главное получить примерно такой список в выходе С#. Я это от балды набрал, чтобы тому кто будет помогать, меньше писать. Горю, очень нужна помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 20:05
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
vadipok, если достаточно копии - получить как массив структур, если из c# с очередью нужно работать - COM объект реализовать, либо набор функций(что не очень удачным будет) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 07:34
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропилvadipok, если достаточно копии - получить как массив структур, если из c# с очередью нужно работать - COM объект реализовать, либо набор функций(что не очень удачным будет) Добрый день, спасибо за совет. Скиньте плиз пример, если это возможно. Или ссылку на туториал. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 09:52
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
С просто struct то же разобрался, остается сделать из него array queue или еще что ни будь. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 09:53
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Интересное конечно решение, тут получается мы передаем переменную, она там присваивается и возвращается обратно. Я не думал что они так плотно могут работать между собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 10:07
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
vadipokС просто struct то же разобрался, остается сделать из него array queue или еще что ни будь. Код: c# 1.
полный аналог для Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 10:19
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Dima TvadipokС просто struct то же разобрался, остается сделать из него array queue или еще что ни будь. Код: c# 1.
полный аналог для Код: plaintext 1.
Дима, а нельзя полный пример. То что вы написали, я уже знал до этого. И уже догадывался что вместо ref Name name нужно передать result как ни будь, и как ни будь его там присвоить. ))) А вообще спасибо. Хотя, пока не надо, попробую сам сперва разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 11:16
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
vadipok, с возвратом массива и C-строками : Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 12:32
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
ну и пример COM интеропа Код: c# 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.
Код: plaintext 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.02.2017, 13:59
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропил, Спасибо большое, все работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2017, 16:41
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропилvadipok, с возвратом массива и C-строками : Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: plaintext 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.
Коллега, стыдно просить, а как добавить сюда еще один элемент? Вдвоем сидим второй день и не можем понять что сделать так, чтобы добавить еще один структ. На выходе получаем 10 struct, у которого только первый заполнен. Вроде все понятно что вы тут сделали, но решения не нашел. В свою защиту могу сказать: Коллега программирует на С++ лет 20 и то не может понять. Перерыл Страуструпа, таких примеров там не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2017, 16:42
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
До этого я решал подобные задачи, но только через Queue. Там конечно на порядок было проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2017, 21:29
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
vadipok, 10 - это просто для примера. просто нужно указать количество возвращаемых элементов ( может и 0 быть ) атрибут SizeParamIndex = 1 указывет, что количество элементов в массиве не константой задано, а в параметре с указанным номером( с нуля считая) передаётся (и на входе и на выходе) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.02.2017, 06:28
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Изопропилvadipok, 10 - это просто для примера. просто нужно указать количество возвращаемых элементов ( может и 0 быть ) атрибут SizeParamIndex = 1 указывет, что количество элементов в массиве не константой задано, а в параметре с указанным номером( с нуля считая) передаётся (и на входе и на выходе) Да, это мы сразу поняли. Параметр sz отвечает за это. С этим проблем нет, проблема есть с заполнением. Ну думаю сегодня разберсусь на работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.02.2017, 08:05
|
|||
---|---|---|---|
Опять С# pinvoke Cpp dll |
|||
#18+
Код: plaintext 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.
спасибо, все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1400059]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 417ms |
0 / 0 |