Frikazoid
Гость
|
|
« : 18-12-2003 00:25 » |
|
Доброго времени суток Господа. Я тут сделал программу на eVB работающую с ком портом! Сами понимаете, что тормозит жудко! пологаю, что через апи функции будет быстрее. Кто может предложить альтернативное решение стандартному компоненту. Может длл на eVC? Я сам со средами от мелких никогда не работал, поэтому мне всё в новинку! Помогите мне плз! Заранее благодарен!
ЗЫ Я проверял прогу на эмуляторе+хук на ком порт, так вот, после каждого отосланного байта стандартный компонент меняет какие-то настройки! всегда одни и те-же! Я так пологаю, что это и тормозит...
|
|
|
Записан
|
|
|
|
NeilPryde
Гость
|
|
« Ответ #1 : 18-12-2003 07:21 » |
|
Если можно использовать API, то почему бы не попробовать работать с ним? Правда, я не представляю как они вызываются в eVB.
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #2 : 19-12-2003 16:08 » |
|
ну а всётаки.... Как это мона сделать? Ну на крайняк киньте в меня длл на eVC плз! пожалуйста! А то меня эти тормоза задрали! И пока нет возможности выучить более культурные языки программинга eVC к примеру!
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #3 : 21-12-2003 14:55 » |
|
По ссылке FAQ есть архив старого форума в формате винхелп. Скачай и в нем найдешь полный код работы с СОМ портом через АПИ на С++ Названия АПИ функций в бейсике вроде от майкрософта не менялись. И не пробуй открывать кучу тем, достаточно поднять эту, если ен смогли сразу заметить.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #5 : 22-12-2003 12:18 » |
|
Для eVC или для VC? Тут есть разница! Просто я нашёл один сырец портирования АПИ в eVB из обычного VB но это не заработало! Если у кого-то есть возможность откомпилить длл, то сделайте это плз! Просто я уже пол нета облазил в поисках нужного, а резулт - 0! Спасибо!
ЗЫ Сорри что размножил темы, просто надо очень!!!
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #6 : 22-12-2003 12:22 » |
|
извиняюсь за неточность! тот пример просто показывал как пользовать апи под VB и я попытался это перенести на eVB!
|
|
|
Записан
|
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #7 : 22-12-2003 12:23 » |
|
Я тебе могу исходники кинуть. Правда, они на eVC, но ты, я думаю, сможешь перевести? Просто у меня сейчас времени ноль, чтобы все это оформлять... Ну что, исходники нужны? разберешься?
|
|
|
Записан
|
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #9 : 03-01-2004 20:22 » |
|
Люди помогите ПЛЗ! С сями не имел я дела! ничего не выходит!
|
|
|
Записан
|
|
|
|
|
|
FoxVID
Гость
|
|
« Ответ #12 : 06-01-2004 07:08 » |
|
Archangel, извини, но не согласен. DCB ему однозначно придется разбирать по косточкам. И параметры этой структуры придется ставить в соответствии с тем протоколом, который используется в управляемом устройстве. А если ставить асинхронный режим, то и с потоками и их синхронизацией надо разбираться. А банальный перенос кусков кода вряд ли поможет.
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #13 : 06-01-2004 14:18 » |
|
Люди.... Вы что не поняли? В eVB очень трудно пользовать API! Я не видел ни одного примера АПИ на eVB зато дофига на VB! Понимаете? Я паробовал перенести на eVB из VB а он ругнулся на меня! Может кто-то напишет всё таки dll на eVC? Я буду очень благодарен! Спасибо!
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #14 : 06-01-2004 17:09 » |
|
Во первых - как ругнулся и на что? Я пользовался АПИ на еВБ и на еВС - так что все ОК. Есть конечно различия в прототипах - и параметрах иногда. Кроме того - не зная текста ругани и программного кода на что ругань, невозможно ничего посоветовать - давай печатай что на что ругается и как. Второе. Как ты меряешь скорость работы с СОМ портом? Я очень удивлюсь, если стандартная настроенная компонента будет работать медленнее кустарного кода. Причин много - но одна основная - работа железа никогда не зависила от компилятора и средства разработки программ для него. Так что боюсь, что скорость ты просто неверно меряешь... Напиши каким образом ты видишь замедление работы. С чем сравниваешь. :?:
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #15 : 06-01-2004 19:58 » |
|
FoxVID, твоя правда, во всем надо разбираться, но может и так прокатить. На случай если копаться некогда. А вообще ты безусловно прав... Frikazoid, слушай, ты пиши по существу! Пока что ни одного конкретного вопроса от тебя не прозвучало, кроме Может кто-то напишет всё таки dll на eVC?
Начни сам разбираться, а если возникнет КОНКРЕТНЫЙ вопрос - пиши, мы обязательно поможем! Пиши, где конкретно прога ругается, тогда поговорим. Кстати, к слову сказать, в MSDN описаны готовые классы для работы с COM портом. Правда уж больно страшны они на вид, но если хочется чего-то готового и чтобы сразу...
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #16 : 09-01-2004 20:16 » |
|
Значит так! Была у меня задача в короткие сроки написать прогу работающую с ком портом на PPC! И была у меня готовая прога на паскале! И нашел я эмулятор доса и поставил туда эту прогу! работает всё на 100% и все довольны! только вот эмулятор больно часто вешался после чего приходилось делать хардресет! и сказал мне начальник чтоб я всю под маздай сделал. И я сделал. И то что получилось работает в 1.5 раза медленнее! И это слишком долго! После изучени проблемы я выяснил, что тормозит именно хардварня часть проги! (прога на eVB является полным портом и никаких доп ф-й нет). Я выяснил, что стандартный компонент в eVB после каждого отосланного символа меняет какие-то там настройки порта! что занимает драгоценное время! Какие именно настройки я не могу выяснить! Перерыл кучу доков по этой теме, но работа с ком портом под покет редкая птица! А скорость подключения я меняю стандартными средствами того компонента! Про апи скажу такое... MS компиллер не знает что такое полное описывание ошибок! порой он может сказать, что прога просто не работает и всё! даже не скажет где именно! И потом перерывай пол кода! так что конкретного ответа на вопрос что именно там не работает у меня нет! а код взят из проги на VB (я адаптировал его для eVB), который я утратил за давностью лет... ЗЫ Получается что эмулятор обычного х86, который работает со скоростью 33MHz круче чем прога на eVB работающаяя на 400? Я ошибаюсь? Может и так! но что делать я не знаю...
|
|
|
Записан
|
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #17 : 09-01-2004 22:20 » |
|
порой он может сказать, что прога просто не работает и всё!
А ты выложи на всеобщее обсуждение то, что он выводит! Что-то мне подсказывает, что разобраться в этом можно. MS компиллер не знает что такое полное описывание ошибок!
Может, он еще должен решение писать? А было бы неплохо... Только скучно уж очень! :twisted: Перерыл кучу доков по этой теме, но работа с ком портом под покет редкая птица!
См. мою ссылку чуть выше. Там ВСЕ написано. И не надо изобретать велосипед и лопатить литературу. Работа с COM портом под PocketPC ничем не отличается от работы на простом PC... Если не так, поправьте...
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #18 : 10-01-2004 00:06 » |
|
Тем не менее возникают вопросы, да?
|
|
|
Записан
|
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #19 : 10-01-2004 12:42 » |
|
Я сам как сделал: сначала отладил механизм передачи данных с КПК на ПК. А когда стал делать обратную передачу данных, просто сделал Ctrl+C -- Crtl-V. Конечно, функции, отвечающие за ввод-вывод, пришлось изменить, но API остались нетронутыми (совсем) => разницы нет.
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #20 : 10-01-2004 13:31 » |
|
А вот тут я не совсем понял! Сори! Кто ни будь может написать хоть пару строк с апи на eVB! Иногда такие проблемы вгоняют меня в ступор и пока мне не разжуют я не пойму!
|
|
|
Записан
|
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #21 : 10-01-2004 15:04 » |
|
Frikazoid, я просто с VB никогда дела не имел (в смысле никогда сам не программил). hPort = CreateFile (lpszPortName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); Это пример открытия файла. Переменная hPort должна быть типа HANDLE. Это встроенный тип Windows (в том числе и WinCE). В Бэйсике объявление должно как-то так выглядеть: Dim hPort As HANDLE; //На С это выглядит так: HANDLE hPort; Сразу говорю - это может не работать, я только готовый код на VB разобрать могу, а сам на нем никогда не программил. :oops:
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #22 : 10-01-2004 16:26 » |
|
Да я работал с апи! Вот тока на eVB у меня проблемы возникли с этим делом!
|
|
|
Записан
|
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #24 : 11-01-2004 00:30 » |
|
Как говорил незабвенный компиллер прога не работает(конкретно). Я тоже боюсь показаться ... но помоему кусок кода будет гораздо более красноречивым, чем весь этот трёп и разбор моих ошибок! Я всегда учился на сырцах! Так легче! Понимаете? Ну киньте в меня плз куском кода! пожалуйста! А? Не люблю я АПИ! Это всё воспитание Delphi! Если бы я вовремя стал учить С++ то этого бы небыло! Слёзно, да? Скажу только то, что кроме этого у меня ещё куча работы и учёба и тратить уйму времени на ловлю багов просто нет желания. Я и так над этим делом довольно много бЪюсь! Понимаю что это не по программерски но что поделать! Не бейте меня, да? не сложилось у меня с ком портом в драном бейсике! Вы просто не представляете себе что такое всё время иметь дело с девайсами у которых интерфейс RS-232! И у каждого свои приколы и для каждого нужен свой софт под дос под Маздай и под МаздайЦЕ! Жопа с большой буквы! Думаете я не люблю решать проблемы? да я получаю кайф когда в очередной раз в 3 часа ночи у меня всё получается и я радостно хлопаю в ладоши! Но в данном случае всё зашло немного дальше и я видеть этот покет уже не могу! Фух....... ЗЫ Тем более покет у меня очень редко, так что тестить проги времени совсем нет! Эмулятор не подходит....... Хардваре чать требует реальных девайсов! ЗЗЫ Кончайте эту тему, да
|
|
|
Записан
|
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #25 : 11-01-2004 14:04 » |
|
Представляем, имели дело... Скажу только то, что кроме этого у меня ещё куча работы и учёба и тратить уйму времени на ловлю багов просто нет желания.
У нас тоже учеба, куча работы + нехватка времени (лично у меня сейчас 1 несданный экзамен, 2 проекта на работе, любимая девушка, статьи по .NET, спорт... дальше продолджать?). И почему ты думаешь, что если у тебя нет желания ловить свои баги, то у нас должно найтись время и желание делать за тебя ПОЛНОСТЬЮ ТВОЮ РАБОТУ??? :?: Кончайте эту тему, да
Наверное, так и надо сделать, хорошая идея!
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #26 : 11-01-2004 21:05 » |
|
Не спорю! ты круче! Но я лишь просил кинуть кусок кода и никого не заставлял! Вот и все!
|
|
|
Записан
|
|
|
|
Frikazoid
Гость
|
|
« Ответ #27 : 12-01-2004 14:19 » |
|
Да, забыл спросить! почему все набросились на апи? я же в своём посте говорил и про другие аспекты проблемы! и никто не ответил! как так?
|
|
|
Записан
|
|
|
|
|