Moja aplikacja jako główne zadanie ma odbierać i nadawać dane przez COM-a. Oprócz tego wykonuje też często inne zadania. W związku z tym, że chce ustrzec się przed błędami przesyłu . Postanowiłem podzielić program na 2 części , gdzie wątek ma obsługiwać tylko procedury związane z COMem , a reszta jest na formie (umownie niech to będzie na razie pętla while(1); )
Mam teraz pytanie czy żeby wątek niezależnie od formy wykrywał i obsługiwał zdarzenia związane z przesyłem należy komponent ComPort stworzyć w wątku dynamicznie?
Jeśli tak to jak należy to zrobić próbowałem po stworzeniu wątku dodać do niego taki kod z tym że w miejsce Form1
TComPort *ComPort1 = new TComPort( Form1 );
Próbowałem dawać także "this" i to nie działa:
void __fastcall RS::Execute()
{
FreeOnTerminate=true;
TComPort *ComPort1 = new TComPort(Form1);
ComPort1->Port = "COM1";
ComPort1->BaudRate = br9600;
ComPort1->OnRxChar = wat;
ComPort1->Open();
//---------------------------------------------------------------------------
void __fastcall RS::wat(TObject *Sender, int Count)
{
Form1->Label1->Caption=1;
}
}
No chyba, że źle sie do tego zabieram i powinno to sie robić w inny sposób. Tak czy inaczej proszę wszelką pomoc.