Спасибо darkelf! Остаются вопросы: как программно указать ключ и будет ли он работать при переносе проекта на другой комп?
Добавлено через 1 минуту:
darkelf, извините. Не дочитал вторую часть сообщения!
Toxa58, Вы, видимо, не совсем поняли, что значит слово "ключ" в данном контексте. Ключ - это параметр, передаваемый программе в командной строке, который программа анализирует при запуске и который модифицирует поведение программы. Например, если Вы запустите lp_solve test.lp, программа lp_solve начнёт обработку Вашего файла test.lp, но если Вы скажете lp_solve -h - она, проанализировав, что ей передан параметр "-h" выдаст справку о своём использовании, какие ключи она поддерживает и что они значат.
Касательно запуска на другом компьютере - в данном случае тот подход, который был предложен раньше, не подойдёт. В данном случае, можно будет попробовать использовать другой подход. Написать программу, например в формате службы Windows, которая будет ожидать на сокете, при получении соединения, получать по этому сокету файл задания (тот самый файл test.lp, сохранять его в определённый каталог, запускать программу lp_solve с этим файлом и перенаправлением ввода вывода в файл результата, и выдачи файла результата по сети в ответ. Для обеспечения нескольких параллельных работ, придётся использовать не фиксированные, а временно созданные имена файлов (см. функцию tmpname(), если она, конечно, есть в Borland C++ Builder). Естественно такая программа-сервер должна будет запускаться на том-же компьютере, где установлен пакет с lp_solve. В системах Unix, думаю, всё было-бы гораздо проще - там можно организовать запуск программы просто прописав её в настройках службы inetd.