Watki i procedury/funkcje

0

Trzybobry!

Mam taka zagwozdke teoretyczna. Zalozmy taki kod (schematycznie):

procedure JakasTamProcka(cos: String);
begin
  //kod tutaj
end;

procedure TJakisTamWatek.Execute;
begin
  JakasTamProcka(Edit1.Text); //wywolanie powyzszej procedury
end;

To czy JakasTamProcka jest uruchomiona w watku, czy nie?

Dzieki [cya]!!

DOPISANE

Dzieki! [hurra]

0

Jasne, że tak.

[99.99999999%]

0

tak, JakasTamProcka jest uruchamiane w kontekscie tego watku

silent1

0

Się podepnę...

A jeżeli dam w wątku głównym programu

JakiśWątek.JakaśProcedura(parameterek);

to w którym wątku to się uruchomi? :)

0

tez w tym, musialbys zrobic stworzyc nowy watek !!
W Api zajmuje to najmniej miejsca nie trzeba klas deklarowac itd....

Function WatekExecute(PARAMERTR : LPVOID) : DWORD;
begin
// Zrob co chcesz zrobic
// parametr = @parametr_przekazywany_do_watku
end;
Procedure Watek1.Execute()
begin;
// Przetwarzanie watku
CreateThread(nil,0,@WateExecute,@parametr_przekazywany_do_watku,NULL,NULL); // Tworzenie watku i uruchomienie go nie ma flagi CREATE_SUSPENDED jesli chcesz go uruchomic pozniej to daj to do przedostatniego parametru
// Uruchamianie watku ResumeThread tylko musialbys miec jego uchwyt
// var
// Threadhandle : Thandle;
// Threadid : DWORD;
Albo sam sie pobaw jak nie masz dokumentacji m$ to
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createthread.asp // Tworzenie watku
end;

Zapomnialem co oznacza LPVOID w delphi a delphi nie mam aktualnie zainstalowanego najwyzej sporob zaminic nile na nulle lub 0 ;
nulle na nile lub 0 i 0 na nulle lub nille ;)
Chyba parametr tez jest dobrze przekazywany jak nie to sorki, niech mnie ktos poprawi.

Narka,

1 użytkowników online, w tym zalogowanych: 0, gości: 1