|
Страници по тази тема: 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... Смисъла на многонишковото програмиране е когато трябва да се СИНХРОНИЗИРАТ няколко задачи, изпълнявани едновременно с цел бързодействие. Класически пример - игрите.
В случая обаче човека пита за обработка, нямаща нищо общо с главната програма. Предполага се, че е нужно данните да се подадат в началото и процеса да си свърши работа. Какво по-лесно от параметрите на командния ред? Подаваш индекса в базата данни и си пляскаш доволно с ръце, без да се занимаваш с глупости.
Накарай мързеливия на работа, да те научи на акъл...
чети и дишай по-леко
| |
|
Абе по принцип глупости говоря само да си намирам да правя нещо. Ти не ме слушай ами по-добре ми кажи какво значи "нишка" та и аз да науча нещо полезно?
плети и дишай по-леко
| |
|
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.
| |
|
Ще видя дали с твоя пример ще се справя, ама явно ще трябва и да попрочета...
Щот то се оказа, че не е е толкова просто. Все пак в края ще се наложи да се обменят данни... А за външно екзе и дума не може да става....
Ясен *<;о)
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 | >> (покажи всички)
|
|
|