|
Доступ из PB к dll написаной на c#
|
|||
---|---|---|---|
#18+
В силу ряда причин часть кода приложения должна быть написана на C#. Оформляться это будет как dll. Из PB необходимо получить доступ к этой dll. В принципе все вроде бы понятно, но что-то у меня не получается. На C# имеется ряд классов. В нужном мне есть метод объявленный так: Код: plaintext
В PB прописываю функцию: Код: plaintext
Потом пытаюсь вызвать ее в коде и получаю ошибку: "Bad runtime function reference..." Насколько я понимаю, метод объявленый статическим так вызывать можно (по крайней мере внутри C# это проходит). В принципе, я пробовал и по другому. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
В таком случае получаю на выходе "До класса не достучался :(...." Код результата - 2 Буду признателен, если кто-то укажет мне как можно получить положительный результат по моей проблеме. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 11:45 |
|
Доступ из PB к dll написаной на c#
|
|||
---|---|---|---|
#18+
ДремучийВ силу ряда причин часть кода приложения должна быть написана на C#. Оформляться это будет как dll. Из PB необходимо получить доступ к этой dll. В принципе все вроде бы понятно, но что-то у меня не получается. На C# имеется ряд классов. В нужном мне есть метод объявленный так: Код: plaintext
В PB прописываю функцию: Код: plaintext
Потом пытаюсь вызвать ее в коде и получаю ошибку: "Bad runtime function reference..." Насколько я понимаю, метод объявленый статическим так вызывать можно (по крайней мере внутри C# это проходит). Этот подход вообще не работает из PB (насколько мне известно). Дремучий В принципе, я пробовал и по другому. Код: plaintext 1. 2.
Тут направление мысли правильное. Но дополнительно требуется на C# или любом другом языке .Net написать ActiveX обертку для вашей ф-и в C#. Затем зарегистрировать ее в системе классов COM (regsrv32.exe) и уже потом вызывать ее так как вы пытались. Это все в теории - я сам не делал этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 12:53 |
|
Доступ из PB к dll написаной на c#
|
|||
---|---|---|---|
#18+
А, совсем забыл. Начиная с PB 10.5 (вроде) классы .Net можно вызывать напрямую, при условии что приложение собирается в WinForm .Net target. Но даже в 11.5 это направление в PB настолько недоработано, что я не рекомендую с ним связываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 12:56 |
|
|
start [/forum/topic.php?fid=15&msg=35919699&tid=1336324]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 416ms |
0 / 0 |