2017-01-04 10 views
0

У меня есть single-threaded COM DLL, созданный и написанный в VisualFoxPro, и я хотел бы использовать процедуры из dll в win-forms-приложении C#.Использовать в FoxPro письменной DLL в C# windows-forms-application

Теперь это не проблема, чтобы добавить ссылку на DLL, но если я хочу использовать DLL, как я обычно делаю это с помощью

using System; 

и т.д., вновь ссылки DLL не будет отображаться вверх.

Есть ли возможность правильно ссылаться или включать VFP-письменную DLL?

И вызвать из него процедуры?

Или мне нужно импортировать DLL из моего проекта, ссылаться на него оттуда и мне нужно что-то изменить в моем VS?

К сожалению, мои исследования не принесли никаких результатов, только обратный путь, который мне не помогает.

ответ

2

Вы не можете использовать такую ​​библиотеку, как managed code, но вы можете использовать неуправляемый код с nteroperability.

Во-первых, прочитать о некоторых interoperability basics, то посмотрите на некоторые из примеров использования библиотек FoxPro

+0

Извините, но я думаю, вы меня неправильно поняли. Я написал DLL в FoxPro и хочу использовать его в приложении C#, которое я скоро напишу. Ваши примеры просто меняются на то, что я ищу. – DatRid

+0

Вторая ссылка содержит оба способа - используя FoxPro dll из C# и наоборот – Nino

+1

@DatRid, я пропустил комментарий раньше, потому что Нино уже дал ответ. Похоже, вы не смогли создать olepublic в первую очередь. Создайте классы olepublic, а затем просто используйте tlbimp.exe, чтобы сделать вашу dll пригодной для использования .Net. Но, если вы спросите меня, FWIW не создает и не использует dll VFP из .Net, вместо этого напишите свой код на C# (по крайней мере, это был урок, который я усвоил). –

2

ВОЗВРАЩЕНИЕ несколько лет, и от того, что я помните, что если ссылка хорошая, вам нужно создать INSTANCE объекта, который был создан как OlePublic в вашей сборке dll с VFP. Затем из этого экземпляра объекта вы сможете иметь доступ и вызывать свои открытые функции и процедуры. Сначала попробуйте, и я постараюсь посмотреть, что я могу выкопать.

+0

Ладно, спасибо, я попробую это. (Только классы OlePublic определяются?) Не нужно торопиться, я не смогу дать вам больше отзывов сегодня печально, но я вернусь к этому завтра! – DatRid

+0

@DatRid, Проверьте ссылку со второго примера Nino. Команда из журнала Code хорошо разбиралась в мире VFP и демонстрировала примерный код создания OlePublic класса и позволяла использовать его в Интернете. Основы одинаковы. Один класс, сделанный как OlePublic, вы можете разоблачить из этого. Позвольте мне знать, какой прогресс вы сделаете завтра из этого и, если нужно, попытаетесь получить более конкретные примеры ... Возможно, через чат или прямую электронную почту. – DRapp

 Смежные вопросы

  • Нет связанных вопросов^_^