реклама на сайте
подробности

 
 
> Как сформировать коммандную строку из программы, Borland C++ Builder (правильно указать путь)
smk
сообщение Jan 31 2011, 17:14
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Есть во такой обработчик нажатия кнопки:
Код
void __fastcall TForm1::Button6Click(TObject *Sender)
{
    char * command="BIN2HEX H:\fv.bin H:\fv.hex";
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
    // Start the child process.
    if( !CreateProcess( NULL,   // No module name (use command line)
        command,        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory
        &si,            // Pointer to STARTUPINFO structure
        &pi )           // Pointer to PROCESS_INFORMATION structure
      )
    {
        AnsiString ErrStr=AnsiString( "CreateProcess failed. Error code=" ) + AnsiString(GetLastError());
        ShowMessage(ErrStr);
        return;
    }
    // Wait until child process exits.
    WaitForSingleObject( pi.hProcess, INFINITE );
    // Close process and thread handles.
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}
Он запускает коммандную строку char * command="BIN2HEX H:\fv.bin H:\fv.hex"; Мне нужно чтобы вместо H: автоматически подставлялся путь к месту запуска программы, в которой присутствует вышеупомянутый обработчик. Я пробовал скроить строчку: char * command="BIN2HEX "+ExtractFileDir(Application->ExeName)+"\fv.bin"+" "+ExtractFileDir(Application->ExeName)+"\fv.hex"; но ничего не вышло. Пишет ошибку: [C++ Error] Unit1.cpp(306): E2034 Cannot convert 'AnsiString' to 'char *' Как правильно это сделать? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   Как сформировать коммандную строку из программы   Jan 31 2011, 17:14
- - skyled   Вопрос попроще. Есть строка: Кодchar * command=...   Feb 1 2011, 07:19
|- - _Bill   Цитата(skyled @ Feb 1 2011, 11:19) Вопрос...   Feb 1 2011, 08:16
- - skyled   Кодcml = Label1->Caption.c_str(); Всет...   Feb 1 2011, 08:30
|- - _Bill   Цитата(skyled @ Feb 1 2011, 12:30) Кодcml...   Feb 1 2011, 08:47
- - skyled   Вот такую ошибку получаю в этом месте Хотелось бы ...   Feb 1 2011, 14:13
|- - _Bill   Цитата(skyled @ Feb 1 2011, 18:13) Вот та...   Feb 1 2011, 14:57
||- - smk   Цитата(_Bill @ Feb 1 2011, 16:57) Нужно п...   Feb 1 2011, 16:57
|- - Xenia   Цитата(skyled @ Feb 1 2011, 17:13) Вот та...   Feb 2 2011, 07:18
|- - _Bill   Цитата(Xenia @ Feb 2 2011, 11:18) bin_cod...   Feb 2 2011, 07:47
- - E.S.   OpenDialog и SaveDialog наверняка используют API G...   Feb 1 2011, 17:23
- - smk   Относительные пути использовать прийдется, т.к. не...   Feb 2 2011, 05:26
- - skyled   Кодunsigned char bin_code[2034];Массив, вк...   Feb 2 2011, 08:03
- - toweroff   Еще интересное поведение OpenDialog -- пока нет ру...   Feb 2 2011, 10:37
- - E.S.   ЦитатаОтносительные пути использовать прийдется, т...   Feb 2 2011, 11:34


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016