Я инженер-механик с некоторыми навыками программирования, и мне нужен совет от гораздо большего числа опытных программистов.Я пишу платформу оптимизации, которая будет включать (по крайней мере в начале) один коммерческий инструмент оптимизации, одну коммерческую программу проектирования и одну мою программу, написанную на C ++.Платформа должна подготовить кейс для инструмента оптимизации, который будет запускать все необходимые программы в правильном порядке.Эта часть с настройкой инструмента оптимизации на моей платформе не является проблемой, потому что у меня было некоторое обучение, и у них очень хорошие инструкции.Кроме того, связь с этой коммерческой программой проектирования довольно проста, потому что она использует интерфейс OLE и имеет большое количество примеров этого.Часть, с которой у меня возникла большая проблема, - это большая гибкость моей программы.Расчеты в основном основаны на эмпирических корреляциях, и я не хочу помещать их в код.Мне нужно вынуть их, чтобы обеспечить легкий доступ в случае новых данных и новых корреляций.Я пишу не только об изменении некоторых коэффициентов, но и об изменении целых уравнений.Например: допустим, что-то описывается уравнением X = A * Y ^ 3 + B * Y ^ 2 + C * Y + D.ABCD - это коэффициенты, а Y - это значение, взятое из объекта в программе, и X, конечно, является решением.Но для этого может быть другая корреляция, которая может учитывать другое значение из объекта из программы.X = A * Y ^ 2 + B * Z ^ 2 + Y / Z.Поэтому мне нужен способ извлечь все корреляции из моего кода, поместить их в отдельные файлы и иметь возможность создавать новые, чтобы они имели доступ к свойствам объекта в моем коде.Я думал об использовании макросов Python (потому что в этой коммерческой программе проектирования это работает хорошо, именно так, как я описал), но чем больше я обращаю на это внимание, тем больше я не знаю, сработает ли это.Я пишу приложение Windows Form и использую VS 2010. Первая проблема заключается в том, что неуправляемая и вся программа управляется.Поэтому я использовал что-то вроде этого:
#pragma unmanaged
#ifdef _DEBUG
#undef _DEBUG
#include <python.h>
#define _DEBUG
#endif
#pragma managed
По крайней мере, программная компиляция, но у меня проблема с преобразованием неуправляемых типов переменных из Pyton в управляемые в C ++.
Итак, мой первый вопрос:
Можно ли использовать Python в качестве инструмента написания макросов в приложении Windows Form, написанном на VS?
Где можно получить дополнительную информацию об этом?Я читаю документы по Python и некоторые учебные пособия в Интернете, но все они есть в консольном приложении Win32.
Может быть, я должен попробовать использовать boost?Это поможет мне?
Есть ли какой-нибудь простой и легкий способ сделать это?(Если бы кто-то показал мне простое приложение формы с одной кнопкой, одним textBox и одним классом с двумя свойствами A и B и макросом на Python (в отдельном файле), который вернул бы X = A + B * 2 в это текстовое поле, он быбудь моим героем:)
Если ответ на первые четыре вопроса отрицательный, по крайней мере, дай мне несколько советов, как я могу сделать это другим способом.Спасибо!