Lazarus - linux - BeginThread – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Lazarus - linux - BeginThread – Pascal – Fórum – Programujte.comLazarus - linux - BeginThread – Pascal – Fórum – Programujte.com

 

Borisek0
Stálý člen
11. 6. 2018   #1
-
0
-

Zdravím.

var
  Form1: TForm1;
  thh: THandle;

implementation

{$R *.lfm}

{ TForm1 }
Function OtevriThread(Param: Pointer): Longint;
begin
  beep;
  EndThread (thh);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  thid: Cardinal;
begin
  thh:=BeginThread(nil,0,@OtevriThread,nil,0,thid);
end;                                   

Pod win ok, pod linuxem mi to shodí celou apku.
Proč?

Nahlásit jako SPAM
IP: 95.173.82.–
MilanL+1
Grafoman
11. 6. 2018   #2
-
0
-

#1 Borisek
zkus

thh:=BeginThread(nil,0,TThreadFunc(@OtevriThread),nil,0,thid);

Nahlásit jako SPAM
IP: 91.139.9.–
Borisek0
Stálý člen
11. 6. 2018   #3
-
0
-

Po kliknut9 na button .projekt vyvolal vyjimku třidyRunError(232) na adrese 68

Nahlásit jako SPAM
IP: 95.173.82.–
KIIV
~ Moderátor
+43
God of flame
11. 6. 2018   #4
-
0
-

#3 Borisek
Treti odkaz na google pro hledani RunError(232):

232 Threads not supported
Thread management relies on a separate driver on some operating systems (notably, Unixes). The unit with this driver needs to be specified on the uses clause of the program, preferably as the first unit (cthreads on unix).

 

Nahlásit jako SPAM
IP: 185.163.40.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Borisek0
Stálý člen
11. 6. 2018   #5
-
0
-

#4 KIIV
To jsem take našel a mělo by to vyřečít

uses
  {$ IFDEF Unix} cthreads, cmem , {$ ENDIF}
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; 

projekt vyvolal vyjimku třidy RunError 211

Nahlásit jako SPAM
IP: 95.173.82.–
gna
~ Anonymní uživatel
1891 příspěvků
11. 6. 2018   #6
-
+1
-
Zajímavé

Když jsme u toho Googlení...

RunError 211 je volání abstraktní metody. Taky ho cthreads vyhodí explicitně pokud se inicializuje pozdě. A CloseThread se má volat až po skončení vlákna (i když na Windows a Linuxu se předčasným voláním asi nic nerozbije).

Jinak je na vlákna lepší použít TThread.

Nahlásit jako SPAM
IP: 213.211.51.–
Borisek0
Stálý člen
13. 6. 2018   #7
-
0
-

Tak jsem zkusil toto.a pod win v delphi i lazarusu ok

http://delphiexamples.com/application/appsynchthread.html

V linuxu do uses {$ IFDEF Unix} cthreads, cmem , {$ ENDIF}

vysledek RunError 211   

Nahlásit jako SPAM
IP: 95.173.82.–
Borisek0
Stálý člen
13. 6. 2018   #8
-
0
-

Tak celý problém s chýbovýmí hlaškami řeší toto.

http://forum.lazarus.freepascal.org/index.php?topic=18470.0

Program jde spustít bez chyby jak s tým BeginThread tak i s tým pruhým přikladem.

Problem však je, že se vlakno nespustí.

Nahlásit jako SPAM
IP: 95.173.82.–
MilanL+1
Grafoman
13. 6. 2018   #9
-
0
-

#8 Borisek
asi by bylo dobry sem hodit kody hlavně třídy vlákna a z formu alespoň řádky týkající se vlákna

Nahlásit jako SPAM
IP: 91.139.9.–
Borisek0
Stálý člen
13. 6. 2018   #10
-
0
-

#9 MilanL
Nejsou žadne kody.

Mam napsaný programek, který bych rad předělal, tak první zkouším a až nějake vlakno zprovozním, pak to teprve předělam.

Pokud pojede toto, budu max spokojen.
http://delphiexamples.com/…hthread.html

Nahlásit jako SPAM
IP: 95.173.82.–
Borisek0
Stálý člen
13. 6. 2018   #11
-
0
-

Vyřešeno, už fungujem   

Nahlásit jako SPAM
IP: 95.173.82.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Lazarus linux MQTT — založil Borisek

Lazarus linux myDate — založil Borisek

Lazarus — založil Rampa

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý