Есть несколько вещей, которые вам нужно сделать, чтобы успешно вызвать функцию C (например, Win32 CreateThread()
API) из Pascal.
Одна из них - установить правильную последовательность вызова: stdcall
.
Другое - получить правильные указатели (ваш исходный вопрос).
Еще одна проблема заключается в том, чтобы убедиться, что объявление функции C написано с заглавной буквы правильно (например, CreateThread
, а не createthread
.
Вы не показали нам свою декларацию Pascal и не сообщили, какой компилятор Pascal вы используете.
Если вы используете Borland Pascal, Delphi или FreePascal, посмотрите здесь подробности о вызове Cиз Паскаля (и наоборот):
http://www.drbob42.com/delphi/headconv.htm
Но если вы используете какой-либо из этих трех Паскалей, подумайте над поиском существующего API-интерфейса «потока» Паскаля вместо создания собственногоОбертка.
Надеюсь, это поможет ...