Форум: "Начинающим";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];
ВнизВопрос о работе программы вне среды Delphi Найти похожие ветки
← →
Lotse © (2008-01-13 14:42) [0]В среде Delphi написанная мной программа работает стабильно. Как только в среде Windows ( возможно не точно выражаюсь ), иногда зависает. Что я не так делаю ?
← →
DVM © (2008-01-13 14:47) [1]
> возможно не точно выражаюсь
Ты хочешь сказать что под отладчиком Delphi она работает, а без него виснет? А просто при запущенной Delphi, но без отладчика?
Может ты используешь какие то сторонние компоненты, которые в демо режиме работают только при запущенной среде Delphi?
← →
palva © (2008-01-13 14:50) [2]Пофантазирую.
Бывает, что используют коммерческие сторонние компоненты, которые в демо-варианте работоспособны только в среде Delphi. Если эти компоненты неаккуратно написаны или взломаны, то возможен такой эффект.
← →
Lotse © (2008-01-13 15:17) [3]Да DVM, именно это я хочу сказать ! Но извиняюсь за тупой вопрос - что есть компоненты ? Cлишком много времени прошло с того момента, как я начал программировать на Pascal-e (ДВК-2 было такое чудо техники в 80-е), затем на Turbo Pascal-e и наконец, спустя 15 лет наступила необходимость накропать прогу для программатора микросхем. Вроде ничего стороннего не использую, только самое простейшее из установленного.
← →
Kolan © (2008-01-13 15:37) [4]BDE
← →
Kolan © (2008-01-13 15:37) [5]BDE используешь?
← →
homm © (2008-01-13 15:46) [6]> [5] Kolan © (13.01.08 15:37)
> BDE используешь?
Не дави на него интеллектом :)
> [3] Lotse © (13.01.08 15:17)
Расскажите точно, что значит «иногда зависает»? Уверены, что это не от того, что он может и в отладчике зависеает иногда, но просто под отладчиком тестировалось мало времени, потому могли не заметить?
Программа под отладчиком и отдельно работает в общем случае одинакого.
← →
Lotse © (2008-01-13 16:28) [7]Нет, в отладчике никогда, это точно ! Я только в нем и использую свою прогу ( к великому сожалению ). Да, на счет BDE не буду больше задавать глупых вопросов, стыдно, завтра определюсь что это, и еще раз проконсультируюсь. К моему великому удивлению - отвечают быстро !
← →
homm © (2008-01-13 16:34) [8]> [7] Lotse © (13.01.08 16:28)
> на счет BDE не буду больше задавать глупых вопросов
Это механизм доступа к бзам данных, думаю к «проге для программатора микросхем» она не имеет никакого отношения.
← →
Lotse © (2008-01-13 16:38) [9]Я то-же так думаю. Программа не из относительно простейших (типа Hello ! ) - работает при программировании микросхем около 1 минуты.
← →
homm © (2008-01-13 16:46) [10]Сказать что то трудно, не видя исходников, но если исходников много, сказать что то трудно, даже видя их. Тем более, как я понимаю, что бы засатвить ее рабоать нелбходимы сами контроллеры? Способ выяснить причину может быть в отключении какихто блоков, работа которых не затрагивала работу других блоков. Например это может быть решение писать одни и теже значения, отключив тем самым влияние блока, отвечающего за входной поток записываемой программы.
← →
{RASkov} © (2008-01-13 16:46) [11]> Lotse
> > на счет BDE не буду больше задавать глупых вопросов
>
> Это механизм доступа к бзам данных, думаю к «проге для программатора
> микросхем» она не имеет никакого отношения.
К тому же Kolan наверняка чуточку не так понял, верно ведь, Kolan? :)
Он наверняка подумал о другом "компе" на котором нет Делфи...)
> [7] Lotse © (13.01.08 16:28)
Можешь кинуть сюда к примеру Uses"ы всех твоих модулей..... уже можно о чем-то подумать или ...не подумать)
← →
Германн © (2008-01-13 16:51) [12]
> Lotse © (13.01.08 16:28) [7]
>
> Нет, в отладчике никогда, это точно !
<telepator>
Под отладчиком понимается работа по F8?
</telepator>
← →
Lotse © (2008-01-13 17:06) [13]Я понимаю, что есть отладчик, сто раз пользовался ! Проблема не в нем. Единственное что я использую, так это драйвер UserPort для понимания ассемблерных команд Delphi. А как скинуть сюда исходники и этот UserPort не имею ни малейшего представления !!! ( в отличии от других сайтов по радиоэлектронике ).
← →
Германн © (2008-01-13 18:04) [14]
> Lotse © (13.01.08 17:06) [13]
>
> Я понимаю, что есть отладчик, сто раз пользовался !
Так вот я и спросил. Под отладчиком нормально работает когда проходишь по F8? Или и по F9 тоже нет проблем?
← →
Lotse © (2008-01-13 18:11) [15]Ни там ни там проблем нет ! Может проблема с этим драйвером UserPort ? Хотя меня терзают смутные сомнения что это с ним.
← →
Apollon © (2008-01-14 15:11) [16]добавьте в программу логирование, найдите место, на котором виснет, а там уж можно и подумать...
Такое часто бывает связано с утечками памяти - бывает, например, что в обычном режиме выскакивает AV, а в отладке все проходит нормально. Разные варианты распределения памяти и т.д.
← →
Lotse © (2008-01-15 20:28) [17]Простите, что такое логирование для тупого ! В Turbo Pascale все было ясно и просто. И что такое AV ? ( повторяю - для тупого !)
← →
Palladin © (2008-01-15 20:31) [18]логирование - журналирование
AV - Access Violation
← →
Lotse © (2008-01-15 20:37) [19]Ладно, разберусь, что такое журналирование и Access Violation (в этом месте должен стоять смайлик с улыбкой), но таковых здесь нет.
← →
homm © (2008-01-15 20:54) [20]> [19] Lotse © (15.01.08 20:37)
> (в этом месте должен стоять смайлик с улыбкой), но таковых
> здесь нет
А на клавиатуре нет? :)
← →
Lotse © (2008-01-15 21:14) [21]Да мы люди темные, на клавиатуре обнаружил только типа :) ! Извиняйте, мы в радиолектронике шарим, типа на сайтах www.bbs.radiolink.ru или типа того. Но и с программированием в изначальном Pascale не хочеЦЦа раставаЦЦа ! Все-таки с этого начинал :)
← →
_Mike_ (2008-01-15 21:21) [22]Проблемма в синхронизации потоков может быть. Под отладчиком все вполне может работать (благодаря отладчику) а вот без оного - такие чудеса порой вылазят :)
← →
Сергей М. © (2008-01-15 21:26) [23]
> драйвер UserPort для понимания ассемблерных команд Delphi
Ты эту траву больше не кури
← →
Lotse © (2008-01-15 21:41) [24]
> Ты эту траву больше не кури
Это как понять ??? Но он для этого и нужен ! В Delphi нет вставки asm ... end. А благодаря UserPort Delphi работает с LPT портом через ассемблерные команды.
← →
homm © (2008-01-15 21:46) [25]> [24] Lotse © (15.01.08 21:41)
> В Delphi нет вставки asm ... end.
Куда бы она дклась?
← →
Lotse © (2008-01-15 21:51) [26]
> Куда бы она дклась?
Не понял ! Да, блин, куда выслать этот долб... UserPort, чтоб всем было понятно что это такое !
← →
ketmar © (2008-01-15 21:56) [27]>[24] Lotse ©(15.01.08 21:41)
>Это как понять ??? Но он для этого и нужен ! В Delphi нет вставки asm …
>end. А благодаря UserPort Delphi работает с LPT портом через ассемблерные
>команды.
есть предложение: нанять программиста. или сначала здорово поучить матчасть, а потом писать что-либо.
а то получится, как если бы я пришёл на форум радиоэлектронщиков и спроил: «а как мне транзистор припаять, а то пацаны сказали, что у меня нет транзистора, и оттого ничего не работает!»
← →
Lotse © (2008-01-15 22:06) [28]
> есть предложение: нанять программиста. или сначала здорово
> поучить матчасть, а потом писать что-либо.
Да я и сам в прошлом программист ! Зачем нанимать кого-то ? Написал программу - все работает ! Только виснет ИНОГДА вне Delphi - вот и весь вопрос был ! А на счет UserPort это вы зря. Точно знаю, Delphi с ассемблерными кодами не работает, правда только под XP (забыл сказать)
← →
ketmar © (2008-01-15 22:21) [29]>[28] Lotse ©(15.01.08 22:06)
магазин->метла->двор.
← →
Германн © (2008-01-15 22:21) [30]
> Точно знаю, Delphi с ассемблерными кодами не работает, правда
> только под XP (забыл сказать)
Точно не знаешь. Точнее слышал звон, но не знаешь откуда он.
← →
Lotse © (2008-01-15 22:29) [31]
> Точно не знаешь. Точнее слышал звон, но не знаешь откуда
> он.
Ой, устал я. Знаю точно что звон не слышал ! Знаю точно, что под XP ассемблерные команды не катят, для этого и нужен этот ДРАЙВЕР !!!!!!!!! Ладно, тема закрыта !
← →
Плохиш © (2008-01-15 22:35) [32]
> Lotse © (15.01.08 20:28) [17]
> Простите, что такое логирование
Пишешь в программе
try
// Здесь пишем свой подозрительный код
except
on E:Exception do
begin
Memo1.Lines.Add(E.ClassName + " : " + E.Message);
end;
end;
Не забуть на форму кинуть компонент с палитры ТМемо.
← →
Lotse © (2008-01-15 22:44) [33]Спасибо Плохиш, а то я уже отчаялся ! Попробую !
← →
ketmar © (2008-01-15 22:46) [34]вот, тема закрыта, сам автор сказал. побережём же нервные клетки.
зыж неужели послушался [29]? или даже [27]?
← →
Lotse © (2008-01-15 22:55) [35]
> побережём же нервные клетки.
Да особо и не нервничал, будут положительные результаты - сообщу непременно`с !
← →
ketmar © (2008-01-15 23:01) [36]>[35] Lotse ©(15.01.08 22:55)
это вот ты не нервничаешь. а я, например, когда вижу безапелляционную ерунду, нервничаю так, что руки дрожат.
← →
Lotse © (2008-01-15 23:06) [37]ketmar, расслабся, выпей 100 грамм и все встанет на места свои. (не в обиду !)
← →
Сергей М. © (2008-01-15 23:24) [38]
> В Delphi нет вставки asm ... end
Да ты что ?!
Вот новость так новость !
А мужики-то и не знают)
> Знаю точно, что под XP ассемблерные команды не катят, для
> этого и нужен этот ДРАЙВЕР
А я знаю точно, что по Луне ходить нельзя, для этого и нужен луноход.
← →
Lotse © (2008-01-15 23:35) [39]
> А я знаю точно, что по Луне ходить нельзя, для этого и нужен
> луноход.
Ну покажите мне программу с вставкой ассемблерных кодов под XP ! Жду: t-room@mail.ru
← →
Сергей М. © (2008-01-15 23:39) [40]Показываю:
program MySuperPuperProgram;
begin
asm
mov eax, eax
end;
end.
И только попробуй возразить, что здесь нет ассемблерной вставки или что этот код не компилируется)
← →
ketmar © (2008-01-15 23:40) [41]>[39] Lotse ©(15.01.08 23:35)
{$APPTYPE CONSOLE}
program dont_you_believe_me;
var
n, c: Integer;
begin
ReadLn(c);
asm
mov eax,20
add eax,[c]
mov [n],eax
end;
WriteLn(n);
end.
специально аж три инструкции запихал, чтобы вопрошающий трижды поверил.
← →
ketmar © (2008-01-15 23:40) [42]>[40] Сергей М. ©(15.01.08 23:39)
а у меня длиннее! %-)
← →
Сергей М. © (2008-01-15 23:46) [43]
> ketmar © (15.01.08 23:40) [42]
Ну ты и слон)
← →
Lotse © (2008-01-15 23:49) [44]Ну не катят они в XP ! Под WIN98, ME еще да, но XP совсем по другому работает с ассемблерными командами, нужен этот долбаный драйвер ! Ну не знаю как еще объяснить ! Может у Вас какая-то версия Delphi из последних ?
← →
ketmar © (2008-01-15 23:55) [45]>[44] Lotse ©(15.01.08 23:49)
>Ну не катят они в XP !
нет, это ты не понимаешь, о чём говоришь. нами приведённый код работает в любой дельфи начиная с 2.
а вот ты говоришь совсем о другой вещи — о прямом доступе к железу. что НИКАКОГО отношения к умению дельфи понимать basm не имеет. но ты же «в прошлом программист», тебе матчасть учить не к лицу, и ты нам кристально чётко пояснил, да?
ещё раз: или почитай что-то по матчасти, или найми программиста.
← →
homm © (2008-01-16 00:00) [46]> [44] Lotse © (15.01.08 23:49)
> Ну не катят они в XP
Конечно, к XP процессоры научились сами работать с исходным текстом программы, им больше инструкции не к чему. Некоторые, особо умные, дажу выполняют код из ничего, сами пишут и выполняют.
← →
Сергей М. © (2008-01-16 00:00) [47]
> не катят они в XP
Врешь, причем нагло)
Ты даже не удосужился скомпилить и запустить ни [40] ни [41])
> не знаю как еще объяснить
Не надо ничего объяснять, твой диагноз уже известен, сейчас тебе Кетмар справку выдаст)
← →
ketmar © (2008-01-16 00:07) [48]>[47] Сергей М. ©(16.01.08 00:00)
а я уже — см. [29] %-)
← →
ketmar © (2008-01-16 00:08) [49]>[45] ketmar ©(15.01.08 23:55)
читать «работает в любой» как «компилируется в любой».
извиняюсь. иногда они заразны.
← →
Сергей М. © (2008-01-16 00:11) [50]
> ketmar © (16.01.08 00:07) [48]
Там не справка - там рецепт)
← →
ketmar © (2008-01-16 00:14) [51]>[50] Сергей М. ©(16.01.08 00:11)
ну и нафиг справки. рецепт выписан, применить по назначению — и никакие справки уже не нужны. %-)
← →
Германн © (2008-01-16 00:26) [52]
> ketmar © (15.01.08 23:55) [45]
>
> >[44] Lotse ©(15.01.08 23:49)
> >Ну не катят они в XP !
> нет, это ты не понимаешь, о чём говоришь. нами приведённый
> код работает в любой дельфи начиная с 2.
>
Если убрать в каждой ассемблерной строчке всего одну букву, то и в Д1 сработает.
← →
Германн © (2008-01-16 00:27) [53]
> ketmar © (16.01.08 00:14) [51]
>
> >[50] Сергей М. ©(16.01.08 00:11)
> ну и нафиг справки. рецепт выписан, применить по назначению
> — и никакие справки уже не нужны. %-)
>
Э не. Рецепт забирают при получении чего-то прописанного, а справка всегда при себе. Для идентификации.
← →
ketmar © (2008-01-16 00:30) [54]>[53] Германн ©(16.01.08 00:27)
по применению рецепта [29] справка уже не нужна.
← →
Германн © (2008-01-16 01:13) [55]
> ketmar © (16.01.08 00:30) [54]
Не. Справка всё равно нужна. Объяснять почему, не стану. Автор сабжа всё-таки достаточно адекватен и слишком сильно его обидеть было бы нехорошо. Он этого не заслуживает. Ему бы только понять смысл утверждения
> сначала здорово подучить матчасть, а потом писать что-либо.
>
← →
ketmar © (2008-01-16 01:36) [56]>[55] Германн ©(16.01.08 01:13)
так это ж я ему и предлагал. я даже взял на себя труд написать [45] с пояснениями, чего в клинических случаях не делаю. %-)
← →
Германн © (2008-01-16 01:59) [57]
> ketmar © (16.01.08 01:36) [56]
С тех пор он тут не появлялся. Может ушел спать, а может таки учит матчасть?
По-крайней мере я надеюсь на второе. :)
← →
Gydvin © (2008-01-16 06:11) [58]
> Пишешь в программеtry // Здесь пишем свой подозрительный
> кодexcept on E:Exception do begin Memo1.Lines.Add(E.
> ClassName + " : " + E.Message); end;end;
Это врядли. Сабж больше похож на зацикливание, при неправильном или вообще не ответа от этого его драйвера. Хотя зачем здесь драйвер я так и не понял. Обычно программаторы цепляются на com или lpt порты. А с ними, на сколько я помню, можно работать без всякого драйвера.
← →
Skyle © (2008-01-16 06:47) [59]
> Gydvin © (16.01.08 06:11) [58]
НЕ реклама.
UserPort. Системный - драйвер привилегированного режима для Windows NT/2000/XP, который дает любым программам доступ к портам Ввода - вывода.
Это даёт возможность обратиться к аппаратным средствам непосредственно от нормально выполняемой программой, таким же образом как это делается под Windows 95/98/ME. Этот драйвер не работает на Windows 95/98/ME, т.к. в этом нет необходимости.
Драйвер может использоваться для следующих целей:
• чтобы выполнять программное обеспечение на Windows NT/2000/XP, которое обычно работает только на Windows 95/98/ME.
• чтобы легко обратиться к аппаратным средствам - параллельному порту и другим портам Ввода - вывода.
То есть это для тех, кто не умеет пользоваться CreateFile и предпочитает старую добрую прямую адресацию.
← →
Gydvin © (2008-01-16 06:57) [60]ага, теперь понятно.
← →
Lotse © (2008-01-16 10:08) [61]Германн, ты прав, я пошел спать, а матчасть я уже начал учить в начале 80-х, просто Pascal изменился за эти годы и превратился в Delphi. Вот Skyle, СПАСИБО, наконец-то нашелся умный человек, объяснил, чего к сожалению я не смог. XP не работает напрямую с портами как это было в 95/98/ME.
← →
Сергей М. © (2008-01-16 10:31) [62]
> Lotse © (16.01.08 10:08) [61]
Даже если ты получил таким незатейливым способом прямой доступ к оборудованию, рано или поздно тебя ждут другие грабли, потому что ты не видишь различий между ОС реального времени и ОС с невытесняющей многозадачностью.
← →
homm © (2008-01-16 10:31) [63]> [61] Lotse © (16.01.08 10:08)
> XP не работает напрямую с портами как это было в 95/98/ME.
Ну а ассемблер, как выснилось совершенно не причем…
← →
Lotse © (2008-01-16 10:57) [64]Да, ассемблер не причем, его команды для работы с портами причем. Ну не правильно объяснил - бывает.
← →
Anatoly Podgoretsky © (2008-01-16 13:25) [65]> Lotse (16.01.2008 10:08:01) [61]
Другие языки также не работают, с оборудованием работают через драйверы режима ядра (в кольце 0)
← →
Kolan © (2008-01-16 13:31) [66]> К тому же Kolan наверняка чуточку не так понял, верно ведь,
> Kolan? :)
> Он наверняка подумал о другом «компе» на котором нет Делфи…)
Угу
> работает при программировании микросхем около 1 минуты.
А как это она их программирует с помощью hello world? Видимо она с какойто железкой работает, а значит там кроме hello world есть работа, например, с ком портом, так? тут может быть много граблей…
А на счет асма это афтар видимо имел ввиду работу напрямую с портом(с учетом что он радитехник и любит паскаль)…
← →
Kolan © (2008-01-16 13:38) [67]> его команды для работы с портами причем
О, незаметил… Хехехе угадал я :)
← →
Kolan © (2008-01-16 14:01) [68]Собссно афтар, показывай как с портом работаешь.
← →
Сергей М. © (2008-01-16 14:15) [69]
> афтар, показывай как с портом работаешь
Подожди немного)
Вот пожжет/загубит афтар мелкосхем на энную сумму - галопом прибежит сюда)
← →
Kolan © (2008-01-16 14:22) [70]> Вот пожжет/загубит афтар мелкосхем на энную сумму — галопом
> прибежит сюда)
Дык шас, имхо, моло таких что загубить можно. :)
← →
Lotse © (2008-01-16 14:28) [71]
> Подожди немного)
>
> Вот пожжет/загубит афтар мелкосхем на энную сумму - галопом
> прибежит сюда)
Ничего я не загубил - все хоккейно работает ! Запрограммировал не один десяток микросхем ! Опыт какой-никакой есть. Единственная проблема - иногда виснет вне Delphi. Так собственно из-за этого и началась эта тема.
> А как это она их программирует с помощью hello world?
Да это я к тому, что там не одна строчка кода, а долвольно-таки объемистый исходник. А Pascal я действительно люблю :)
← →
ketmar © (2008-01-16 15:01) [72]всё это я давно уже сказал. и что такое оный юзерпорт, я понял. и лапшевидный код автора тоже, скорее всего, могу пртелепатировать.
вот чего не могу — это протелепатировать в голову автору желание хоть немного поучить систему. понять хотя бы то, что винда NT-линейки — это не «DOS с окошечками».
← →
ketmar © (2008-01-16 15:04) [73]автор, ты пойми: магия тут не работает. ты вот сюда пришёл в надежде, что мы тебе магическое заклинание скажем, и всё заработает. а мы вместо этого начали требовать уточнений, потом учиться посылать. так это нормально — иначе не будет. иначе нанимай программиста. или учись. или не пиши вообще ничего.
← →
Lotse © (2008-01-17 21:02) [74]
> потом учиться посылать.
Ketmar, посылать не надо - это форум для начинающих (читай правила ! ) хотя я не считаю себя таковым. Не знаешь как ответить, так лучше помолчи - вопрос для профи ( если ты себя таким считаешь ) был простейшим ! Решено !
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];
Память: 0.64 MB
Время: 0.054 c