Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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? :)
> Он наверняка подумал о другом &laquo;компе&raquo; на котором нет Делфи&#133)

Угу


> работает при программировании микросхем около 1 минуты.

А как это она их программирует с помощью hello world? Видимо она с какойто железкой работает, а значит там кроме hello world есть работа, например, с ком портом, так? тут может быть много граблей&#133

А на счет асма это афтар видимо имел ввиду работу напрямую с портом(с учетом что он радитехник и любит паскаль)&#133


 
Kolan ©   (2008-01-16 13:38) [67]

> его команды для работы с портами причем

О, незаметил&#133 Хехехе угадал я :)


 
Kolan ©   (2008-01-16 14:01) [68]

Собссно афтар, показывай как с портом работаешь.


 
Сергей М. ©   (2008-01-16 14:15) [69]


> афтар, показывай как с портом работаешь


Подожди немного)

Вот пожжет/загубит афтар мелкосхем на энную сумму - галопом прибежит сюда)


 
Kolan ©   (2008-01-16 14:22) [70]

> Вот пожжет/загубит афтар мелкосхем на энную сумму &#151; галопом
> прибежит сюда)

Дык шас, имхо, моло таких что загубить можно.  :)


 
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
2-1200570288
Washington
2008-01-17 14:44
2008.02.10
Привязка к железу


15-1199903664
@!!ex
2008-01-09 21:34
2008.02.10
Какой БП нужен?


2-1200652142
asdf
2008-01-18 13:29
2008.02.10
Как заменить строку в MySQL


2-1200556620
npr2
2008-01-17 10:57
2008.02.10
delphi installshield и потоки


4-1182240688
Dib@zol
2007-06-19 12:11
2008.02.10
Наборы векторов из символа шрифта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский