Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2010, 17:34   #11
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так что, ищите ошибку в другом месте!
Не вводи в заблуждение. Ошибка именно в том месте, что я указал.

WinExec - функция из Win16 и не имеет Unicode версии. Соответственно, она принимает PAnsiChar. Для PAnsiChar нужна AnsiString. Всё.

В Delphi 5 String = AnsiString. Работает.
В Delphi 2010 String <> AnsiString. Не работает.

ShellExecute спасает, да. Но ещё больше спасает CreateProcess.

(ShellExecute и WinExec НЕ запускают программу - они открывают файл в ассоциированной с ним программе. Да, в 99% случаев для исполняемых файлов это означает запуск самого файла, но если есть возможность использовать именно запуск программы (CreateProcess) - почему бы не использовать его?)

Цитата:
Сообщение от D][mon Посмотреть сообщение
(компилятор ошибок не выдает=> синтаксически все правильно):
Зато выдаёт предупреждения о несовместимости Wide и Ansi типов, не? Закрываем глаза? А зря.

Цитата:
Сообщение от D][mon Посмотреть сообщение
Может какието настройки компилятора помучаь? если да то какие? Очень прошу помочь, т.к. перспектива работы с .bat файлами меня не прельщает(думаю многие согласятся , что ето как-то некрасиво)
Да, есть мат-часть, которую нужно знать.

Цитата:
Сообщение от D][mon Посмотреть сообщение
у казание полных путей к TASMу и .asm файлу не помогает, т.е. tasm не поддерживает полные пути к файлам)
нормальное решение - использовать CreateProcess с указанием текущей папки. Не очень нормальное решение - менять текущую папку перед запуском WinExec/ShellExecute.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 30.10.2010, 01:57   #12
D][mon
Форумчанин
 
Регистрация: 05.01.2010
Сообщений: 150
По умолчанию

Цитата:
Сообщение от
Зато выдаёт предупреждения о несовместимости Wide и Ansi типов, не? [URL="http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=777"
как ни странно ничего.

А Ваш блог, GunSmoker, оказался очень полезным, благодарю Вас.

тока с параметрами createproces (последние 2) я так и не "осилил".
как их "применить" к DOS проге(TASM).

следующий код создает bat-ник и запускает его:
fname:TLabeledEdit
path:TLabeledEdit
Код:
fname:TLabeledEdit
if checkBox1.Checked then
   cmd:=(path.text+'TASM.exe '+fname.Text);
  else cmd:=(path.text+'TASM.exe '+fname.Text+' /l');
begin
    BatFile:=path.text+'Helper.bat';
    AssignFile(Ft, BatFile);
    Rewrite(Ft); //Открытие нового текстового файла
    Writeln(Ft, cmd);
    Write(Ft,'pause');
    CloseFile(Ft);
  end;
ShellExecute(Handle, 'open', PChar(path.text+'Helper.bat'), nil, nil, SW_SHOWNORMAL);
как заменить это на createprocess?


и еще
в прогу передается имя asm-файла
визуально(в cmd) обрабатывается правильно
более того TASM заявлет что не видит ни какие файлы из тех что я потом ввожу в fname.
D][mon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск приложения с параметрами !!! badfilin Общие вопросы C/C++ 6 27.05.2010 23:29
Запуск с параметрами bookkc Помощь студентам 10 05.04.2010 13:13
Delphi: запуск программы из командной строки с параметрами kaa1977 Помощь студентам 6 22.03.2010 10:03
Запуск с параметрами Xatr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 12 05.05.2009 17:40
Запуск exe с параметрами Altera Общие вопросы Delphi 2 26.02.2008 21:25