![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование функции API WinExec в RADStudio [D2005, 2003]
John_Korsh © (2016-07-19 10:55:00)Добрый день!
Не подскажете ли как грамотно использовать функцию WinExec в RADStudio?
Проблема в string. Вот код, который работал в Delphi7:
var
S : string;
Buffer : PChar;
i : integer;
....
if (FileExists ('Test.exe') then
begin
S := 'Test.exe';
GetMem(Buffer, Length(S) + 1);
StrCopy(Buffer, PChar(S));
WinExec (Buffer, SW_SHOWNORMAL); // [dcc32 Error] Inst.pas(813): E2010 .. Incompatible types: 'PAnsiChar' and 'PWideChar'
FreeMem(Buffer);
end
Ошибку я приписал в строке после WInExec. То есть, как я понимаю, надо как то widechar перевести в AnsiChar?
Rouse_ (2016-07-19 12:13:00) [1]ShellExecute используй - меньше времени потратишь в последствии, когда ошибки начнешь разбирать.
John_Korsh (2016-07-19 11:09:00) [2]Спасибо.
ert (2016-07-19 11:06:00) [3]зачем все это?
var exename : ansistring;
begin
WinExec ('notepad.exe', SW_SHOWNORMAL);
exename := 'notepad.exe';
WinExec (PAnsiChar(exename), SW_SHOWNORMAL);