Запуск программ (W2k и Win98)
Кино такое...ShellExecute(handle,файл.xls,,,) из Вин2000 отрабатывает нормально..в 98-ом и 95 не хочет (...Кстати, с CreateProcess() такая же история... Недоумеваю...куда ткунться...
У меня под 98SE всё работало, мож ты с параметрами напутал. ShellExecute(handle,null,"файл.xls",,,).А компилил под 98? Или просто запускал exe-шник, откомилированный под 2000?
в 2000 и ХР -все нармуль...в 95-98 возвращает SE_ERR_OOM...мож кака друга функция есть...иль в настройках проекта чего...(
ну да...компилирую под 2000...запускаю ехе-шник...
в 2000 и ХР -все нармуль...в 95-98 возвращает SE_ERR_OOM...мож кака друга функция есть...иль в настройках проекта чего...(
Попробуй откомпилить под 98. Скорее всего прописаны не те dll. У 2000 и 98 ядро разное, отсюда скорее всего ошибка и лезет.
Попробуй откомпилить под 98. Скорее всего прописаны не те dll. У 2000 и 98 ядро разное, отсюда скорее всего ошибка и лезет.
думал и над этим... а если повторится обратная история...то есть под 95-м ядром пойдет, под NT не захочет..? и опять же - ставить вторую ось, или искать машину с 95-м и устанавливать билдер...хотелось обойтись меньшими движениями...а что делать ?...дурная голова рукам покоя не дает! ))
Спасиба...
думал и над этим... а если повторится обратная история...то есть под 95-м ядром пойдет, под NT не захочет..? и опять же - ставить вторую ось, или искать машину с 95-м и устанавливать билдер...хотелось обойтись меньшими движениями...а что делать ?...дурная голова рукам покоя не дает! ))
Спасиба...
Вообще очень интересная тема. Может кто-нибудь знает, как написать прогу, чтобы она шла под всеми виндами? А то народ жаловался - скомпилишь под ХР, а потом на других машинах где винды постарше ничего не работает. Может кто знает?
Вообще очень интересная тема. Может кто-нибудь знает, как написать прогу, чтобы она шла под всеми виндами? А то народ жаловался - скомпилишь под ХР, а потом на других машинах где винды постарше ничего не работает. Может кто знает?
- Совместимость версий идет с низу вверх 95->XP а не наоборот..
- Все дллины зашивай в проект
а С я люблю больше...
Сюжет в кине меняется...Откомпилил тот же код но в Делфях...Идет!...ВЕЗДЕ!!!...да уж...((
а С я люблю больше...
Я как человек не особо вэтом разбирающийся могу сделать для себя интересные выводы...
Вариант 1 : Дельфи использует библиотеки оптимизированные для 95-й винды и поэтому ее код идет на всех операционках... но в этом случае не используются полностью возможности более прогрессивных операционок ... в этом случае дельфи - отстой...
Вариант 2 : Дельфи в код программы вставляет проверку версии операционки и варианты кода для всех операционок... в этом случае с точки зрения многоплатформенности дельфи - рулез форева а с точки зрения размера кода - ОТСТОй :D
В любом случае есть вариант как заставить билдер делать то же самое... прописать все самому :(
Вынести критичные для разных операционок участки кода в DLL и скомпилить эту DLL под каждой из платформ... получаем 4 разные DLL ... жуть...
Ну а потом сами проверяем под какой операционкой запустилась прога и подключаем нужную DLL-ку ...
Во гадость получается то... может все таки кто знает в чем фишка??? а то я сам боюсь того что написал....
Может, попробовать "exec"-серию?:-?
А эт чего?
А эт чего?
Поиши в хелпе - это досовский вариант (execl и т.п.) Насколько я понимаю, Far'a запускает именно им8)
Работает на всех виндах, компилю проект без dll- только исполняемый файл (.exe)
int r= ShellExecute(Application->MainForm->Handle,
NULL,
String("CALC.EXE").c_str(),
String("C:\\WINDOWS").c_str(),
SW_SHOW);
switch (r){
case 0: ShowMessage("Не хватает памяти или ресурсов.") ;
return;
case ERROR_BAD_FORMAT: ShowMessage("Ошибочный файл");
return;
case ERROR_PATH_NOT_FOUND:ShowMessage("Не найден каталог");
return;
case ERROR_FILE_NOT_FOUND: ShowMessage("Не найден файл");
return;
case 31: ShowMessage("Неизвестный файл");
return;
case 32: ShowMessage("Нет доступа");
return;
}