Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.30;
Скачать: CL | DM;

Вниз

Передача в CreateThread функции с параметрами   Найти похожие ветки 

 
EternalWonderer   (2002-08-15 12:01) [0]

Задача: отключить из программы сетевой диск. Вызываем
WNetCancelConnection2(pChar(LocalName),0,True);
Проблема: работает, но при этом программа зависает на 5-8 секунд.
Решение: попытаться вынести операцию в отдельный поток.
CreateThread(Nil,0,@WNetCancelConnection2,Nil,0,c);
Вопрос: как в этом случае передать WNetCancelConnection2 параметры?


 
Ученик ©   (2002-08-15 12:19) [1]

HANDLE CreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes
DWORD dwStackSize, // initial thread stack size, in bytes
LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function
LPVOID lpParameter, // argument for new thread
DWORD dwCreationFlags, // creation flags
LPDWORD lpThreadId // pointer to returned thread identifier
);


 
paul_shmakov ©   (2002-08-15 12:25) [2]


function MyThreadFunc(Param: Pointer): DWord; stdcall;
begin
WNetCancelConnection2(PChar(Pointer), 0, True);
end;

...
CreateThread(nil, 0, MyThreadFunc, Pointer(LocalName), ...);


 
EternalWonderer   (2002-08-15 12:41) [3]

Спасибо!


 
EternalWonderer   (2002-08-15 13:10) [4]

Вот только передать pChar так и не удалось: передаётся пустая строка. Пришлось "извернуться":

Function ThreadedCancelConnection(LocalLetter: Pointer): DWord; stdcall;
Var s: String;
Begin
s := Char(LocalLetter) + ":";
WNetCancelConnection2(pChar(s),0,True);
End;
...
CreateThread(Nil,0,@ThreadedCancelConnection,Pointer(LocalName[1]),0,c);



Страницы: 1 вся ветка

Текущий архив: 2002.09.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-98025
Шурик Ш
2002-09-10 19:20
2002.09.30
Кнопки MessageDlg


1-98127
Maloy_
2002-09-19 20:59
2002.09.30
ООП


4-98400
Ребенок Кирилл
2002-08-15 04:39
2002.09.30
нужно узнать HWND кнопки, edit, Memo и т.д


7-98381
BY_KAN
2002-07-22 03:19
2002.09.30
НЕ ПАШЕТ AX=7305h INT 21h Абсол. чтен/запись


4-98402
ssv
2002-08-13 14:09
2002.09.30
WNetGetResourceParent