Конечно строгая типизация в компонентном паскале дело хорошее. Но это головная боль для тех кто пользует WinApi функции.

Как передать параметр типа WinApi.PtrSTR в функцию WinApi.MessageBoxA?


Например:

## Код:
```
MODULE Test;
IMPORT WinApi, SYSTEM;

VAR Msg: ARRAY 255 OF CHAR;
        Res: INTEGER;

BEGIN
 Msg:="Иди работай";
 Res:=WinApi.MessgaeBoxA(HWnd, Msg, "Сообщение" , {4,5}); 
END Test.
```


На такое компилятор ругнется. Типы не соответствуют. Если вместо Msg передать указатель, SYSTEM.ADR(Msg):
Res:=WinApi.MessgaeBoxA(HWnd, SYSTEM.ADR(Msg), "Сообщение" , {4,5});

То тоже ругается.

Если Msg перевести к типу WinApi.PtrSTR с помощью SYSTEM.VAL(WinApi.PtrSTR, Msg):
Res:=WinApi.MessgaeBoxA(HWnd, SYSTEM.VAL(WinApi.PtrSTR, Msg), "Сообщение" , {4,5});
То проглотит. Но при запуске выведет ошибку...

Как поуму передавать в функции WinApi параметры?