Active process ...

7 отговора 178 прегледа
#1

Active process ...

Hm izprawen sum pred problem... imam 1 app koyto trqbva da raboti postoqnno no kato se otvori druga programa i procesut spira i programata ne raboti a trqbva da raboti ... kak da napravq da raboti nzavisimo dali e seleknata/pusnata druga programa ?

Отговор
в отговор на pak az :) #2

Re: Active process ...

Виж, от досегашните ти постинги по темата се вижда, че не си много наясно с това, което се опитваш да направиш. Сега пак. Какво означава kato se otvori druga programa i procesut spira? Как го разбра това? Сигурен ли си? Какво точно се опитваш да направиш? Как го правиш? Покажи малко сорсове. Нормалното поведение на програмите в Windows е да работят, дори и когато има пуснати други програми :) Ти ли я стартираш другата програма или се стартира от другаде? Ако ти - как я стартираш? Разбирай, че за да ти дадем отговор - ще трябва да дадеш и ти малко информация :) И този път без ne uspqm da go naprq moje li o6te pomosht :) Бъди по-информативен

Отговор
в отговор на pak az :) #3

Re: Active process ...

Каква е връзката между двете програми?

Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Отговор
в отговор на andrew_nikoloff #4

Re: Active process ...

ами виж сега, имаме даден процес от апп, той трабва да изваршва функция по тимер но като се минимизирана/в трей-а или в таскбар-а функцията не се изпълнява. Това е проблемът, ако не ти харесва че не съ наясно поне не се заяждай просто не поствай.

Отговор
в отговор на ahh #5

Re: Active process ...

И аз имам такъв проблем. Пускам тред, който ПОСТОЯННО работи ( интензивни изчисления, няма значение какво точно ). Този тред има нисък приоритет, но активно натоварва файловата система ( много и/о операции с МНОГИ файлове ), никакъв Networking, никакви писания по форми и т.н. Основния тред ( този, който го е породил ) виси на таймера и няколко пъти в секундата показва в една формичка до какво дередже се е докарал втория тред. За това той чете една структура, която се попълва от постоянно работещия. Не ползвам Syncroneze(), защото много забавя работата, а и си мисля, че щом единственият общ ресурс е тази структура, и щом само единият тред пише с нея, проблеми не би трябвало да имам.
И какво става? Така стъкмената задачка работи идеално, НО :
понякога ( напр. 30% ) при стартиране на друго приложение, напр. от екслорера - просто викам IE, втория тред умира : просто спира да бачка. Първият си е ок, показва, реагира на бутони, излиза и т.н. Нямам много време да го изследвам, но е интересно. Може да е бъг на Delphi ( 7 ), но най-вероятно аз правя нещо неправилно. Забелязах и нещо друго : първият тред може да прави и графика ( по избор ). Когато я прави, вероятността втория тред да спре е много по-малка. ако минимизирам формата, вероятността става по-голяма.
ИДЕИ ?

Отговор
в отговор на ahh #6

Никой не се заяжда с тебе

Просто изказванията ти са доста некомпетентни (което не е лошо - никой не се е родил научен) и неясни (което е причината да не може да ти се даде отговор, въпреки че имах желание).
Нека дам малко примери:
имаме даден процес от апп - знаеш ли какво е процес и какво приложение? (предполагам с "апп" искаш да кажеш application/приложение)
iskam da promenq 1 scripit - Вече ти казаха, че си в грешка по тоя въпрос.
ne uspqm da go naprq moje li o6te pomosht :) - (това ти е целия пост) Каква помещ очакваш, след като дори не казваш какъв ти е проблема?!
Сега, след като надявам се си изяснихме, че постингите ти наистина са неясни и аз не искам да се заяждам изобщо с теб, да продължим по същество...

TTimer ли използваш за извикването на функцията или API (например SetTimer)?
Ако е TTimer виж какво става с неговия прозорец (той си създава WS_POPUP прозорец с размери 0х0, който получава WM_TIMER съобщенията), дали съществува докато е минимизирана програмата. Ако използваш SetTimer с подаден хендъл - провери същото за прозореца, чийто хендъл подаваш. Опитай също така да замениш функцията, която се изпълнява от таймера с нещо просто (например да копира в клипборда текущото време) и провери дали наистина не се изпълнява докато се минимизираш.

Толкова от мен. Надявам се да съм ти дал някаква насока за решаване на проблема. Аз заминавам на море. Ако има нещо - колегите ще ти помогнат

Отговор
в отговор на andrew_nikoloff #7

Re: Никой не се заяжда с тебе

Здравей!
Защо изобщо му отговаряш?
Явно е че изобщо не е в час, а и не желае и да влезе!
Пише с маймуни, неможе да пише, незнае какво иска и не ползва едно и също име за постовете си.
Явно обичаш да се правиш на умен на някой който незнае нищо!
Доколкото разбирам иска да направи копи-пасте от нещо готово без да разбира кво прави и освен това да се получи каквото му се иска.
Като разбираш толкова защо не ми отговаряш когато имам въпрос, а темите ми потъват без отговори?
Какта съм казвал и друг път, аз мога да си намера отговора и сам, но все се надявам че ще се намери някой който наистина разбира за да ми отговори тук.
Колкото до всезнайковци дето мислят че знаят много а не казват нищо, не се оплаквам, намират се!
Все пак като отговаряте не е лошо да взимате под внимание че форумът е за програмиране на делфи, а не за направи си сам хак, вирус, троянец и т.н.!
Венцислав Александрийски

Отговор
в отговор на v_automation #8

Re: OFF

Острия език не е от полза за никого. А обвиненията ти към Андрей са напълно неоснователни - той е от най-активните членове в клуба и ако е могъл, сигурно е щял да ти помогне.

Mixy
Отговор