Помогите разобраться с ShellExecute() !!!
От: Nvisa Россия  
Дата: 16.08.04 14:08
Оценка:
Помогите разобраться с использованием ShellExecute() для запуска стороннего приложения.

Задача следующая:

Есть таблица, в мемо-полях хранится список документов, в каждой строке — одна ссылка на документ.
Мемо-поля связаны с TDBMemo SH_EXTFILE.
Читаем в переменную AS одну из строк и проверяем на отсутствие пустоты.

HtmNumMax = SH_EXTFILE->Lines->Count;
if (HtmNumCurr > (HtmNumMax — 1) ) HtmNumCurr = HtmNumMax — 1;

AnsiString AS = " ";
if (HtmNumMax < 1 ) {
AS = RootDir + "\\Dbf\\Docs\\standart.htm";
} else {
AS = RootDir + SH_EXTFILE->Lines->Strings[HtmNumCurr];
};


Далее, при компилляции ShellExecute() выдается сообщение, что ожидается "const char" а имеется "AnsiString", и никак автоматом невозможно конвертонуть "AnsiString" в "const char".

if((UINT)ShellExecute(
NULL,
"open",
AS,
NULL,
NULL,
SW_SHOWNORMAL) <= 32)
{
// errors
}

К сожалению, я только начинаю изучать СИ, но достаточно хорошо знаю программирование в среде FoxPro, где все проблемы такого рода решаются автоматом, и вот возможно эти знания мне и клинят в разборках этой ошибки.
Если можно, помогите разобраться с конвертацией всяких строковых типов друг в друга, т.к. чувствую, что такого рода вопрос — не последний.

С уважением.
Виктор. Калининград.



16.08.04 18:12: Перенесено модератором из 'C/C++' — Odi$$ey
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.