Arsip: Custom Thread Error?

more 11 years ago
ir1keren
Gw punya mslh aneh (lagi, ato gw yg ga teliti?). Gw punya class turunan dr TThread yg deklarasinya:
TAlgo=class(TThread)
private
FVertex:TCollectionVertex;
FOnUpdate:TThreadProcedure;
FTick,FDTime:Cardinal;
FTotTime:Cardinal;
procedure SetVertex(V:TCollectionVertex);
procedure RecalculateTimer;
public
constructor Create;
....
Trus di-implementation, gw ksi:
constructor TAlgo.Create;
begin
inherited Create(True);
FTick:=0;
FTotTime:=0;
FDTime:=0;
FOnUpdate:=nil;
FreeOnTerminate:=True;
end;
mksudnya biar begitu Terminate langsung di-free. Trus gw bikin tombol yg OnClick-nya ky gini:
if Assigned(NetHopfield) then
Exit;
NetHopfield:=THopfield.Create;
NetHopfield.Vertex:=Vertices;
NetHopfield.OnUpdate:=OnHopfieldProcess;
NetHopfield.OnTerminate:=OnAfterHopfield;
...
NetHopfield.Resume;
NetHopfield tu turunan dari class TAlgo. Nah pas tombol diklik pertama, ok, proses jalan. Tp pas tombol diklik kedua kalinya muncul error:
"Thread Error: The handle is invalid(6)"
Trus gw trace, pas penekanan tombol kedua if Assigned(NetHopfield), eh malah dilewati. Jadi ternyata blm benar2 free, wajar klo pas NetHopfield.Resume muncul error.
Yawdah gw akalin,
constructor TAlgo.Create;
begin
inherited Create(True);
...
FreeOnTerminate:=False;
end;
Oya, properti Terminated gw deklarasi ulang jd public, biar bs kebaca di objek laen :). Trus di event OnClick, gw kasi
if Assigned(NetHopfield) then
if NetHopfield.Terminated then
FreeAndNil(NetHopfield)
else
Exit;
..
NetHopfield.Resume;
Maksudnya pas tombol ditekan ke sekian, otomatis NetHopfield di-free, n dibuat sbg objek baru gt.
Nah gw coba pas penekanan tombol kedua muncul pesan error:
"Access violation at address 0046ABC4..Read of address 000000"
dan dilanjutin dg pesan:
"System Error. Code: 5. Access is denied"
Kynya ada yg aneh, kan pas penekanan tombol kesekian harusnya objeknya di-create ulang? klo di-create ulang kan harusnya alamat memori, handle-nya benar2 baru?
Apa yg salah? ato gw ada yg terlewat ya dlm teknis multi-threading?
more 11 years ago
ir1keren
weeksss..salah forum index niiyy.. maksudnya ke "Bedah Kasus"..Tulung dipindahin..thx..
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- cxGrid (DevExpress) dgn Report (FastReport/QuickReport)
by reminder2k1 in Reporting more 13 years ago - tanya ngatur ukuran kertas buat double folio
by budhie_yk in Reporting more 12 years ago - Connect MS SQL_Server dengan IP Anddress
by fongers in MsSQL more 10 years ago - Radio Group Find...
by saysansay in Enginering more 15 years ago - memindahkn kursor
by nurez in onLinux more 15 years ago - Mysql
by saysansay in Tip n Trik Pemrograman more 15 years ago - Koneksi Kartu Debit & Kredit
by IdrisZZ in Hal umum tentang Pascal Indonesia more 12 years ago - Window List
by kerendonk in Form Enhancement & Graphical Controls more 13 years ago - Script Sql Simpel tapi susah
by Penjahat in MySQL more 11 years ago - tanya biner to matriks
by diandewi in Hal umum tentang Pascal Indonesia more 8 years ago