|
Перевести софт с Visual на Builder |
|
|
|
 |
Ответов
|
Aug 3 2011, 19:01
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(paskal @ Aug 3 2011, 21:47)  Приобрели на работе компьютерный девайс - преобразователь интерфейса для канала Манчестер. Как всегда срочно нужно написать под него софт для работы с нашей аппаратурой. Но возникла трудность. Все исходники написаны на вижуал си. И библиотеки работающие с драйверами - тоже. Я с вижуал не знаком, тем более что на работе его нет и поставить админ не даст. Есть только C++ Builder. Короче надо как то переделывать эти библиотеки на билдер или дельфи. Разъясните насколько эта процедура реальна? Переделывать чужой программный код с одного языка на другой - гиблое дело, хотя при сильной настойчивости выполнимое. Поэтому переписывать с C на Delphi не советую, тем более, когда нет ясности с тем, как работают все эти ваши библиотечные функции и драйверы. А вот переложить с Visual C на Builder много проще, т.к. язык здесь все-таки один тот же. Проблемы могут возникнуть, если у вас исходники не на C, а на С++. Вот тогда может оказаться, что код, опирающийся на стандартные для Visual C классы, не захочет интегрироваться в Builder из-за того, что классы у них разные. В общем случае что-то утверждать заглаза нельзя - код надо смотреть. А я даже не знаю, какая у вас версия Builder...
|
|
|
|
|
Aug 4 2011, 16:23
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(Xenia @ Aug 3 2011, 23:01)  Проблемы могут возникнуть, если у вас исходники не на C, а на С++. Вот тогда может оказаться, что код, опирающийся на стандартные для Visual C классы, не захочет интегрироваться в Builder из-за того, что классы у них разные.
В общем случае что-то утверждать заглаза нельзя - код надо смотреть. А я даже не знаю, какая у вас версия Builder... Классы там вроде не используются. Исходники оформлены как набор обычных сишных функций. При попытке компиляции выдает ошибку "недостижимый код" (unreachable code). При этом указывает на строку где вызов стандартного API DeviceIOControl. Компилирую 6-м билдером. Вообще интересно если программа отлажена под вижуал си, должна ли она компилироваться билдером, если не используется особых наворотов вроде ООП?
|
|
|
|
|
Aug 5 2011, 10:38
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Xenia @ Aug 5 2011, 11:48)  Чтобы вызывались API-шные функции, нужно всего-лишь подключить хидер <windows.h>. Вообще-то Unreachable code в сколь-нибудь общепринятом смысле означает, что компилятор обнаружил кусок кода который никогда не будет исполняться, не потому, что его нет, а по причине прямо противоположной - он есть, но к нему никто ни при каких условиях не обращается (по крайней мере компилятор не знает, откуда его вызывают). Давно уже не пачкал руки борлондячей продукцией, но не думаю, что даже они используют сообщение Unreachable code в смысле, который приписываете ему Вы - Function has no prototype  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
paskal Перевести софт с Visual на Builder Aug 3 2011, 17:47  shreck Цитата(paskal @ Aug 4 2011, 23:23) Вообще... Aug 5 2011, 01:53  zltigo QUOTE (paskal @ Aug 4 2011, 18:23) Вообще... Aug 5 2011, 07:24 Mik174 Цитата(paskal @ Aug 3 2011, 20:47) Я с ви... Aug 4 2011, 20:26 Flexz А давно Unreacheable code ошибкой стал? или вы ком... Aug 5 2011, 10:58 haker_fox QUOTE (paskal @ Aug 4 2011, 02:47) И библ... Aug 5 2011, 11:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|