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

 
 
> Как сформировать коммандную строку из программы, 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
 
Start new topic
Ответов
skyled
сообщение Feb 1 2011, 14:13
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



Вот такую ошибку
Прикрепленное изображение

получаю в этом месте
Прикрепленное изображение

Хотелось бы знать природу. Вышеупомянутый код раньше работал.После того как программа усложнилась появилась эта проблема. Откуда у нее что растет? Спасибо.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Feb 2 2011, 07:18
Сообщение #3


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(skyled @ Feb 1 2011, 17:13) *
Вот такую ошибку получаю в этом месте. Хотелось бы знать природу. Вышеупомянутый код раньше работал.После того как программа усложнилась появилась эта проблема. Откуда у нее что растет? Спасибо.

bin_code - это у вас что? На вид массив, но тогда не надо амперсенд перед ним ставить в операторе fread, т.е. само имя bin_code уже адрес.
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
|- - _Bill   Цитата(skyled @ Feb 1 2011, 18:13) Вот та...   Feb 1 2011, 14:57
||- - smk   Цитата(_Bill @ Feb 1 2011, 16:57) Нужно п...   Feb 1 2011, 16:57
|- - _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 - 22:58
Рейтинг@Mail.ru


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