| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| sdim80 
 
 
 Зарегистрирован: 07.04.2006
 Сообщения: 3
 
 
 | 
			
				|  Добавлено: Пт Апр 07 2006 09:27    Заголовок сообщения: Проблема с запуском приложения созданного Vis. Studio |   |  
				| 
 |  
				| Срочно нужна помощь в решении проблемы, связанной с разработкой на Visual Studio! 
 1) На Visual Studio 2005 (Visual C++) мною написано приложение Win 32.
 Проблема: приложение работает только на том компьютере (Win XP), на котором разрабатывалось.
 При попытке запуска на любом другом компьютере (также Win XP) выдается сообщение: "Приложение не было запущено поскольку
 оно некорректно настроено. Повторная установка приложения может решить данную проблему."
 
 Приложение создано на базе одного исходника "c" и одного ресурса "rc".
 В проекте используется windows.h. Ни на какие другие библиотеки и ресурсы ссылок в проекте нет.
 На всякий случай опишу функцию приложения. Она достаточно проста:
 1 Выбрать в диалоге имя файла для сохранения данных.
 2 Выбрать в окне (описанном в ресурсе) номер компорта.
 3 Организовать по определенному протоколу обмен с устройством через компорт и сохранить принятые данные в файле п.1.
 
 Уверен что мой вопрос является банальным, но суть дела такова, что я не являюсь программистом С/С++.
 Я в темпе аврала решаю неожданно возникшую в рамках проекта задачу, которую необходимо реализовать под Windows
 на базе имеющегося исходника на Си.
 Времени хватает только на то чтобы создать и оттестировать программную логику и совсем не хватает на изучение
 особенностей среды разработки.
 
 2) Заодно уважаемых программистов под С++ прошу ответить на другой вопрос:
 В той же среде создал пустой проект Win 32 (в предыдущем вопросе я создал проект через File\Project From Existing Code).
 Внес в проект текст на Си тот же самый что в первом вопросе. Но не стал вносить ресурс с описанием окошка выбора компорта.
 Компорт задал явно в тексте программы.
 В итоге
 
 условие ((hComm = CreateFile (szComPort [nPort], GENERIC_READ | GENERIC_WRITE,
 0, NULL, OPEN_EXISTING, 0, NULL)) == INVALID_HANDLE_VALUE)
 истинно, хотя в первом варианте проекта (созданным через File\Project From Existing Code) это условие ложно и компорт номально открывается.
 
 Дело в том что значение szComPort [nPort] соответствует COM1  и впервом и во втором моих проектах, смотрел по отладке.
 
 Заранее благодарю за помощь.
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| Kefir 
 
 
 Зарегистрирован: 16.04.2005
 Сообщения: 443
 Откуда: Пермь
 
 | 
			
				|  Добавлено: Сб Апр 08 2006 20:49    Заголовок сообщения: |   |  
				| 
 |  
				| По вопросу 1. Возможно вы компилируете в режиме отладки? |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| dipsy 
 
 
 Зарегистрирован: 26.01.2005
 Сообщения: 424
 Откуда: Н. Новгород
 
 | 
			
				|  Добавлено: Вс Апр 09 2006 15:34    Заголовок сообщения: |   |  
				| 
 |  
				| а как надо компилировать, чтобы приложение запускалось на других компах? |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| Kefir 
 
 
 Зарегистрирован: 16.04.2005
 Сообщения: 443
 Откуда: Пермь
 
 | 
			
				|  Добавлено: Вс Апр 09 2006 20:33    Заголовок сообщения: |   |  
				| 
 |  
				| Не знаю, я дальше 6й версии дело не имел... |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| sdim80 
 
 
 Зарегистрирован: 07.04.2006
 Сообщения: 3
 
 
 | 
			
				|  Добавлено: Пн Апр 10 2006 13:14    Заголовок сообщения: |   |  
				| 
 |  
				| Я создавал и DEBUG и RELEASE версию. Дело не в этом, причину я нашел.
 Скомпилированный ЕХЕ требует некоторые DLL.
 Я до последнего надеялся что в ЕХЕ включается все что нужно или хотя бы в папку Release автоматически бросаются все используемые библиотеки.
 
 Причину нашел попробовав запустить свое творение на Вин 2000.
 Просто Вин ХР не говорит каких точно библиотек ему не хватает для запуска программы в отличие от Вин 2000.
 
 Вобщем для Вин 2000 я вручную собрал все DLL, которые просила система, но вот, к сожалению, для Вин ХР этот набор не работает.
 
 Я прекрасно понимаю что полный комплект, необходимый для работы приложения, надо формировать по-другому, но не знаю как.
 
 Проект я закрыл, так как мое приложение должно работать на Вин 98, но может быть кто нибудь из уважаемых программистов подскажет как надо делать в будущем?
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| sdim80 
 
 
 Зарегистрирован: 07.04.2006
 Сообщения: 3
 
 
 | 
			
				|  Добавлено: Пн Апр 10 2006 13:45    Заголовок сообщения: |   |  
				| 
 |  
				| Помогло изменение настройки Project Settings -> C/C++ -> Code Generation = Multi Threaded (/MT)
 Всем спасибо!
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		|  |