Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:46 20.04.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Тема Помощ с пустите му Нишки  
Автор Яceн *;o) (луд за черпене)
Публикувано18.04.02 01:37



Значи искам нещо да става на заден фон, кото няма нищо общо с основната работа. Как мога лесно и БЕЗОПАСНО да свърша това, без да изчитам един тон хартия колко лоши били тредовете и какви големи опасности има и какви капани и как ще ми се смахне ПЦ-то...

А ако имате и някое компонентче...
Ех, мечти...

Бродих из мрежата и на торри.ру даже... ама там са или много сложни или не работят...

Редактирано от Яceн *;o) на 18.04.02 01:39.



Тема Re: Помощ с пустите му Нишкинови [re: Яceн *;o)]  
Автор Wise Guy (да бе умен...)
Публикувано18.04.02 11:34



Hubavo e da prochetesh knijkite (i chastta s opasnotite, za da znaesh kakvo da pravish ako ima problem). Eto ti edin primer na rabota s nishka:

V glavnata programa:
uses UnitNaNishkata;

kudeto shte se izvurshva background rabotata s nishkata slagash
TMoqtaNihska.Create(Parametur);

eto i koga na UnitNaNishkata.pas:
unit UnitNaNishkata;

interface

uses
Classes; //i kakvoto oshte trqbva

type
TMoqtaNihska= class(TThread)
public
constructor Create(const AString: string);
destructor Destroy; override;
protected
procedure Execute; override;
private
FString: string;
procedure Update;
end;

implementation


constructor TMoqtaNihska.Create(const AString: string);
begin
FString := AString; //eto kak podadohme nqkakuv parametur ot glavnata programa vuv nishkata

inherited Create(false);
end;

destructor TMoqtaNihska.Destroy;
begin
//ako si suzdavash razni bozi v nishkata (nqkakvi StringList-ove i tn.), tuka mu e mqstoto da gi .Free;
end;

procedure TMoqtaNihska.Execute;
begin
FreeOnTerminate := true;
Priority := tpHigher; //ili kolkoto iskash

//pravish si kakvoto iskash
//tuka mu e mqstoto
FString := ''blabla - promenen e ot nishkata;
//mojesh da pratish neshto na glavnata programa eto taka
Synchronize(Update);
//surhi li execute znachi si zaminava nishkata
end;

procedure TMoqtaNihska.Update;
begin
MainForm.Label1.Caption := FString;
end;

end.

//Ei nakraq kniga moga da napisha

by Wise Guy



Тема Re: Помощ с пустите му Нишкинови [re: Яceн *;o)]  
Автор Pechenia (нема лабаво ;-)
Публикувано18.04.02 11:45



Направи си отделно EXE и си го пускай с ShellExecute.

чети и дишай по-леко


Тема Re: Помощ с пустите му Нишкинови [re: Pechenia]  
Автор Wise Guy (да бе умен...)
Публикувано18.04.02 22:17



Kaji togava nai-gotiniq nachin za obmqna na info mejdu dvete

by Wise Guy



Тема Re: Помощ с пустите му Нишкинови [re: Wise Guy]  
Автор Pechenia (нема лабаво ;-)
Публикувано19.04.02 09:10



Варианти бол...
Ако трябва да се обменя информация между две приложения, може да се ползва файл, регистрите, база данни и още квото ти дойде на акъла. Виждал съм приложение което обменяше информация през window caption... Смисъла на многонишковото програмиране е когато трябва да се СИНХРОНИЗИРАТ няколко задачи, изпълнявани едновременно с цел бързодействие. Класически пример - игрите.
В случая обаче човека пита за обработка, нямаща нищо общо с главната програма. Предполага се, че е нужно данните да се подадат в началото и процеса да си свърши работа. Какво по-лесно от параметрите на командния ред? Подаваш индекса в базата данни и си пляскаш доволно с ръце, без да се занимаваш с глупости.
Накарай мързеливия на работа, да те научи на акъл...

чети и дишай по-леко


Тема допълнениенови [re: Pechenia]  
Автор Pecheпia (лабаво иде ;-))
Публикувано19.04.02 12:28



Абе по принцип глупости говоря само да си намирам да правя нещо. Ти не ме слушай ами по-добре ми кажи какво значи "нишка" та и аз да науча нещо полезно?

плети и дишай по-леко


Тема Re: допълнениенови [re: Pecheпia]  
Автор Wise Guy (да бе умен...)
Публикувано19.04.02 13:09



ei za mig se hvanah. koi e toq bazikliq

by Wise Guy



Тема Re: Помощ с пустите му Нишкинови [re: Яceн *;o)]  
Автор NDeu (новак)
Публикувано19.04.02 13:14



Абе той Wise Guy ти е казал основното.
Разгледай примера в ....\Demos\Threads за да видиш как го правят
Не забравяй!!! User interfeis-a само в основната нишка, а допълнителните нишки са за условно продължителни операции, които имат ограничен обмен с визуалните компоненти в Sinhronize

Не е лош и варианта на Pechenia.



Тема Мерси,нови [re: Wise Guy]  
Автор Яceн *;o) (луд за черпене)
Публикувано19.04.02 17:38



Ще видя дали с твоя пример ще се справя, ама явно ще трябва и да попрочета...
Щот то се оказа, че не е е толкова просто. Все пак в края ще се наложи да се обменят данни... А за външно екзе и дума не може да става....


Ясен *<;о)

Never mistake motion with action. A. Einstein


Тема Re: Помощ с пустите му Нишкинови [re: Wise Guy]  
Авторpm (Нерегистриран)
Публикувано23.04.02 01:34



Sluchaino poglednah tuka, obsto vzeto nisto ne rabiram ot Delphi, no
nai burzia nachin za interprocess comm. kogato dvata processa vurviat na edna mashina e MMF, vsichki ostanali metodi, pipes, RPC, COM, mailslots, clipboard i t.n. v osnovata si polzvat tozi mehanizum :))




Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.