Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Имеется в наличии DLL писаное на C# (суммирует 2 цифери) Нужно запустить ее из Delhpi Код: 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. 44. и собственно сгенерированный Дельфёй модуль: Код: 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. 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. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. Запускается, но в момент выполнения на строке val := calc.Sum(1,2{StrToInt(Edit1.Text), StrToInt(Edit2.Text)}); влетает в TCalculator.Connect; и на строке punk := GetServer; пишет ошибку: "Не удается найти указанный файл". Как с этим бороться, подскажите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 11:23 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
64-битные COM-обьекты не совместимы с 32-битным приложением. Вот и не находит тогда DLL с подходящей разрядностью. У вас какая где разрядность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 11:46 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
авторя не знаю, но может ли такое быть, что, к примеру, 64-битные COM-обьекты не совместимы с 32-битным приложением. Конечно не совместимы. В случае с C# можно сделать одну DLL для 32 и 64 битных платформ. И не забыть зарегестрировать COM объект из DLL в системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 11:50 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Кроик Семён, b0rk Компилировалось на Win10, используется на WinXP Возможно баг в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 11:55 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
еще можно использовать NuGet пакет UnmanagedExports, чтобы добавить в DLL писаную на C# экспорт unmanaged функций. в этом случае можно обойтись без COM объектов, а грузить эту DLL через LoadLibrary и получать интерфейс через экспортированую unmanaged функцию. правда при этом подходе прийдется делать две DLL - одну для 32 и вторую для 64 бит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 11:56 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
BorodaOleg Компилировалось на Win10, используется на WinXP Возможно баг в этом WinXP и .NET это конечно жесть. Для начала надо проверить, что .NET Framework используемый в DLL поддерживает WinXP и установлен на WinXP. Кроме того DLL с COM объетом нельзя просто скопировать. Надо зарегестрировать COM объект системе. Я бы начал с того, что сделал бы простенькое .NET приложение, которое грузит эту DLL и проверил, что это приложение запускается на WinXP. А потом уже стал бы пробовать грузить эту DLL в Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:01 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
b0rk BorodaOleg Компилировалось на Win10, используется на WinXP Возможно баг в этом WinXP и .NET это конечно жесть. Для начала надо проверить, что .NET Framework используемый в DLL поддерживает WinXP и установлен на WinXP. Кроме того DLL с COM объетом нельзя просто скопировать. Надо зарегестрировать COM объект системе. Я бы начал с того, что сделал бы простенькое .NET приложение, которое грузит эту DLL и проверил, что это приложение запускается на WinXP. А потом уже стал бы пробовать грузить эту DLL в Delphi. Перекомпилировали под W32 - эффект тот же. DLL с COM объектом регестрировали, в принципе если бы не регистрировали не создалась бы tlb-шка Бум пробовать создать приложение на C# и запускать ее под XP... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:32 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
09.06.2021 12:32, BorodaOleg пишет: > Бум пробовать создать приложение на C# и запускать ее под XP... для начала проверь, какие версии (т)очко.нет-а установлены на этой ХР Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:35 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий 09.06.2021 12:32, BorodaOleg пишет: > Бум пробовать создать приложение на C# и запускать ее под XP... для начала проверь, какие версии (т)очко.нет-а установлены на этой ХР ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:41 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Кроик Семён 64-битные COM-обьекты не совместимы с 32-битным приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:49 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
BorodaOlegв принципе если бы не регистрировали не создалась бы tlb-шка Эти два процесса никак не связаны. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 12:49 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov BorodaOlegв принципе если бы не регистрировали не создалась бы tlb-шка Эти два процесса никак не связаны. Усёк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 13:06 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
Сделали проект на C#, запустился, всё работает Delphi по прежнему пишет "Не удается найти указанный файл" Пробежал дебагером, уходит в Windows с функцией OleCheck(CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, Result)); - и оттуда вываливается с ошибкой Не могу догнать, что за файл ему нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 13:19 |
|
||
|
Dll на C# запустить из Delphi
|
|||
|---|---|---|---|
|
#18+
BorodaOleg Dimitry Sibiryakov пропущено... Эти два процесса никак не связаны. Усёк Хотя, если бы я не зарегистрировал объект через RegAsm то он бы не отобразился в Delphi "Import Type Library", и соответственно не было бы возможно создать TLB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2021, 13:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40076600&tid=2037259]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 291ms |
| total: | 561ms |

| 0 / 0 |
