Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование функции 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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо