использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Добрый день
в старую прогу хочу начать добавлять формы на c# winforms. конкретно сейчас речь о c# форме ADUser - из active directory считывается логины, имена, мейлы и описания пользователей. входящие в определенные группы. Какие есть варианты вызова модальной формы на c# c параметром из vfp и возврат строки? Предпочтительным вариантом кажется создание DLL и вызов формы из нее БЕЗ РЕГИСТРАЦИИ DLL на компьютере. Это реально? если да, распишите пошагово pls вызов exe с параметром, сохранение результата в текстовый файл и считывание текстового файла из фокса кажется не красивым решением ps. вариант написать форму на фоксе пока не рассматриваю - хочу начать интегрировать новые формы в старую прогу [attachment 30218 2018-10-3010_43_40-C__temp_2018-10-3010_40_45-ADUserRunning-MicrosoftVisualStudio.jpg-Gre.png] Исправлено 6 раз(а). Последнее : AlexSSS, 30.10.18 11:57 |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Все молчат, скажу пару слов)))
Не понял задачи) В прогу на фоксе? Есть хрень, которая пытается подружить фох с шарпом. wwDotNetBridge поиск покажет текущее положение дел. Я когда то пробовал скрестить. Не стоит оно того. Так же начинал с этого. Наваял кучу классов, понаписал разной хрени. Профита, для пользователя (по сравнению с фоксом) =0 А тут подоспели хотелки веба. Вот знания и пригодились.) Резюме))) Лучше новый на NET. Постепенно. У каждого своя ситуация. Но я бы не в winforms делал, а на ASP.NET И конечно, делаешь не спеша, новый проект. Показываешь, для начала, интересные отчетные данные для руководства. Или как вариант сервисы на NET, а формы... какие хошь. Там тока данные. При скрещивании, упрешься в огромную кучу проблем, которые никак ни к шарпу, ни к фоксу знаний не добавят. Слезать с фокса надо. Но скрещивание, к тому же не с Си, а нетом, думаю будет непродуктивно. Все ИМХО. С удовольствием прочту альтернативы. |
Re: использование форм на c# из под VFP | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Да нет тут альтернатив. В плане привязать сервис какой, невизуальную компоненту - ещё туда-сюда, а формы... Коряво и нестабильно. В общем не советую.
На что переписывать - вопрос отдельный. Сейчас в тренде микросервисная архитектура, хорошая изоляция "частей" системы друг от друга позволяет на чём угодно отдельные компоненты писать, в т.ч. даже на разных языках - например что-то на дотнете, что-то на яве, что-то на каком питоне или чистом js. Фронтэнд действительно в основном вебобразный - даже если собирается в нечто типа десктопного приложения. ------------------ WBR, Igor |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Владимир, Игорь, спасибо.
Больше не буду тратить время на такое скрещивание визуальную форму реализую на VFP но формирование части данных на c# надо оставить. теперь задача звучит так: как сделать невизуальную библиотеку на c#, чтобы из фокса можно было вызвать функцию с параметрами на c#? желательно, чтобы библиотеку не надо было регистрировать в винде, просто бросил dll в папку и пользуйся. на c# будет несколько функций, которые будут запрашивать информацию из Active Directory трех разных доменов и помещать результат (информация о пользователях и составе групп) на sql server. ps. переписывать код этих функций на фокс с использованием adsi ldap не хочу Исправлено 2 раз(а). Последнее : AlexSSS, 31.10.18 01:38 |
Re: использование форм на c# из под VFP | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Так и вызывать периодически из скуля задание на сбор данных. А фоксом потом результаты смотреть.
|
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Разумно) А это, почти как с формами. Напляшешься от души) И все вышеизложенное справедливо. Если так, то совет Паши, лучше не придумать. Но если по уму. Давай подкорректируем задачу. и отдавать инфу, тому кто запросит. Делаешь сервис, который вынимает эту инфу, а уж к сервису обращаешься откуда хошь. Хоть с фокса, хоть с b+++))) Могу примерчик наваять, кинуть (хотя полагаю в инете их навалом)))) |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
кинь простейший пример |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
На vs проект не имеет смысла кидать.
Речь о vs2017 Попробовал. Просто создать-проект-веб-веб приложение Asp.net (.Net frameWork) Выбираешь Web Api (+MVC само встанет) Все. Проект готов. Там только 2 метода Get() Который возвращает 2 значения {"value1","value2"} И Get(id) Который возвращает {"value"} Запускаешь, смотришь адрес порта Этот адрес нужуен будет для фокса. (или для любого другого обращающегося) Для получения данных в фоксе.
Ясное дело, можешь в нете, работать со своими данными, создать свой контроллер, которые будет с ними работать. И вызов будет соответствующий. Попробуй это, может дальше все ясно будет. Или велкам) |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Володя, спасибо
принцип понятен ;) но поднимать IIS для того, чтобы на нем запустить один простой сервис - задачу это не упрощает ;) потрачу пару часов, чтобы попробовать сделать DLL и запуск процедуры из него. Если не выйдет, сделаю гораздо проще - запуск консольного приложения из фокса, которое закинет данные на SQL Server, а потом в фоксе уже вытащу актуальные данные с SQL Server. Для одного домена сейчас примерно так все и работает (linked server adsi), обновление данных происходит раз в час. Но это слишком большой промежуток для моих целей. Грузить домен контроллеры запросами каждые пять минут - нет смысла. Запускать EXE или DLL по запросу с SQL Server мне никто не даст из-за безопасности (надо немного переконфигурить сервер) |
Re: использование форм на c# из под VFP | |
---|---|
_vit Сообщений: 5176 Дата регистрации: 29.07.2002 |
Визуальный не визуальный без разницы. 1. Устанавливаешь пакет UnmanagedExports для студии. Цитата: sites.google.com 2. Создаешь проект Class library В свойствах проекта указываешь Platform target: x86 3. Через Manage NuGet pakages for solution добавляешь в References - RGiesecke.DllExport.Metadata 4. Пишешь код на C# что-то типа:
5. Код на фоксе:
Исправлено 2 раз(а). Последнее : _vit, 31.10.18 19:01 |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Супер. Надо бы попробовать. Только придумать где) И без всяких сервисов! |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
вау! спасибо за пошаговую инструкцию, работает! причем как обычная модальная форма начинаю засовывать свою форму ;) вызов из фокса [attachment 30225 2018-11-0110_47_22-Corvette.png] Исправлено 2 раз(а). Последнее : AlexSSS, 01.11.18 11:50 |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
С выводом messagebox все проходит нормально
как только вместо него ставлю запуск своей формы, при вызове функции в фоксе вылетает ошибка "Declare DLL call caused an exception." вставил обработку исключения в C# - все равно ошибка вылетает фоксовская в visual studio никаких ошибок не показывается нет даже идей, как отловить ошибку в самом c#
оба проекта включены в одно решение ADUser - вывод формы ADUserDLL - собственно DLL Исправлено 9 раз(а). Последнее : AlexSSS, 01.11.18 15:55 |
Re: использование форм на c# из под VFP | |
---|---|
_vit Сообщений: 5176 Дата регистрации: 29.07.2002 |
Думаешь из за нетовской формы?
Попробуй:
Думаю где то ошибка в коде с#. Пройди программу в отладчике. Для этого: 1. запускаешь студию с проектом длл ставишь точку останова на первую строчку в теле функции Function1 2. запускаешь фокс но программу фоксовую пока не запускаешь. 3. в студии Debug->Attach to Process в списке доступных процессов выбираешь vfp9.exe кликаешь кнопку Attach Запускается отладчик студии. 4. переходишь в фокс запускаешь программу на фоксе 5. переходишь в студию и проходишь код с# в отладчике. |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
В студии запускается отладчик, но при запуске проги в VFP отладчик ничего не перехватывает. Предполагаю, это связано с тем, что я запускаю уже скомпилированный DLL. каким образом в фоксе прописать путь к DLL, чтобы отладчик отловил обращение к нему? Исправлено 1 раз(а). Последнее : AlexSSS, 02.11.18 11:38 |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ты наверное вынул DLL из проекта VS и подсунул фоксу.
А надо думаю так. в папке проекта VS debug... может bin ищешь эту DLL и именно этот путь подсовываешь фоксу Посмотрел) ..\bin\debug\твоя.dll Исправлено 1 раз(а). Последнее : Аспид, 02.11.18 12:51 |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
dll ниоткуда не вытаскивал
"U:\Software\c#\ADUser\ADUserDLL\bin\Debug\ADUserDLL.dll" сейчас у меня появилось другое подозрение - dll даже не запускается, поэтому даже try catch внутри нее и не срабатывает обнаружил, даже если функция из dll запустилась один раз, на второй раз выллетает эта же ошибка - Declare DLL call caused an exception. не помогают clear all close all clear dlls помогает только перезагрузка vfp антивирус отключал - не помогает убрал входные и выходные параметры - ничего не изменилось, срабатывает только первый раз, потом ошибка сейчас буду искать варианты, когда в фоксе вылетает Declare DLL call caused an exception. Исправлено 2 раз(а). Последнее : AlexSSS, 02.11.18 14:22 |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Разберешься конечно.
И все это пригодится. Но... Я например подумал, куда б это у себя применить. И вот к чему пришел, относительно тебя. У тебя типичная, мкросервисная задача. И Даже не рест, а только чтение. Поставить IIS, это день максимум, а потом, свобода. Я бы не бросал тот путь. Можешь получать данные... куда угодно от такого сервиса. Да хоть в ексель))) |
Re: использование форм на c# из под VFP | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Тут не все так просто
Я работаю в большом концерне с множеством подсетей. Мой комп многие не видят (пинг не пройдет). IIS надо ставить где-то на основных серваках. Для этого мне нужно тех.обоснование и т.п. А то, что через какое-то время самому все равно придется делать сервисы - да, это я понимаю. на крайний случай у меня есть безинтерфейсный работающий вариант - запуск exe из под фокса и считывание данных из какого-то кэша (SQL, файл XML и т.п.) |
Re: использование форм на c# из под VFP | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Хочется предложить вариант.
В данном случае тебе не подойдет У тебя источник АД. Но для другого. Берешь вин хостинг. Делаешь там сайт, и все что хошь) И создаешь еще под домен, про который никто не знает. И размещаешь там сервисы. Конечно, надо аккуратно (очень) с доступом к БД. Но по мне, так очень просто, и работает) Вроде не Пентагон, никто не ломится))) (Вернее ломится, но не пролазит))) |
© 2000-2024 Fox Club  |