greenpc Frodo_Torbins Ок, спасибо.
Я понимаю так [more]
procedure NewThread(FromHostIP: Uint64; ReceiveData: pointer; ReceiveDataLength: cardinal);
var
CreateNewThread: TNewThread; //новый поток
begin
CreateNewThread := TNewThread.Create(true); //создание
CreateNewThread.FreeOnTerminate := true; //уничтожение
CreateNewThread.Priority := tpNormal; //приоритет
//Передача параметров
CreateNewThread.FromHostIP := FromHostIP;
//getmem(CreateNewThread.ReceiveData, ReceiveDataLength);
//move(ReceiveData^, CreateNewThread.ReceiveData^, ReceiveDataLength);
CreateNewThread.ReceiveData := ReceiveData;
CreateNewThread.ReceiveDataLength := ReceiveDataLength;
CreateNewThread.Resume; //запуск
//freemem(ReceiveData);
end;
[/more]
в procedure TNewThread.Execute; освобождать память так или что то лишнее?
Dispose(vData);
freemem(ReceiveData);
greenpc Цитата: Move((ReceiveData+5*sizeof(pNum))^, pNum, sizeof(pNum));
к сожалению так не работает...