Как добавить внешний исполняемый файл в проект Borland C ++ Builder 2010? - PullRequest
0 голосов
/ 11 января 2011

Итак, вопрос в том, как добавить в c ++ builder 2010 какой-нибудь внешний файл .exe? Допустим, я сделал какую-то программу на Visual Basic и у меня есть исполняемый файл, так что мне не нужно делать такой же код на C ++, я хочу просто включить этот исполняемый файл в свой проект? Можно ли сделать переносимое приложение одним exe-файлом, в котором есть другой exe-файл (возможно, в пути к ресурсу)? Как это назвать в коде, если это один exe в другом? Я знаю, чтобы вызывать его с помощью системной функции или другого, указав направление на исполняемый файл, но как это сделать, если он находится по тому же адресу, что и основной исполняемый файл?

Ответы [ 2 ]

1 голос
/ 11 января 2011

Используйте диалог Project > Resources, чтобы добавить файл VB .exe в ваш проект и присвоить ему идентификатор.Во время выполнения ваш код C ++ может затем извлечь данные ресурса для этого идентификатора во временный файл, например, с помощью TResourceStream и TFileStream, а затем использовать CreateProcess() для его запуска.Не забудьте удалить файл, когда закончите с ним.

В противном случае, вместо этого переписать код VB в DLL, и тогда приложение C ++ может просто вызывать экспортированные функции DLL, когда это необходимо.Если вы хотите отправить один автономный .exe-файл (который, как правило, отличается от того, как используются библиотеки DLL), вам придется использовать тот же подход к ресурсам, просто используйте LoadLibrary() и GetProcAddress() вместо CreateProcess()для динамического доступа к функциям DLL.

1 голос
/ 11 января 2011

Я не совсем понимаю, чего вы пытаетесь достичь.Если вы хотите использовать функциональность данной программы, вам нужно будет кое-что узнать о том, как эта программа работает.

Если вы хотите взять данный исполняемый файл и вызвать его, как если бы вы были скриптом оболочки, вам нужно будет запустить данную программу с ее стандартным вводом и стандартным выводом, перенаправленным в канал. Пример того, как это сделать, доступен на MSDN .Если вы хотите иметь возможность просто посмотреть на классы и методы Visual Basic в целевом EXE-файле, как вы могли бы это сделать с Visual Basic .NET, вам не повезло, поскольку произвольный исполняемый файл не понимает концепцию класса илиспособ.

...