print the GetLastError:Josef Templ wrote:Maybe GetLastError gives us an answer to this question.
- Josef
Code: Select all
MODULE ObxTest4;
IMPORT WinApi;
VAR res: INTEGER;
VAR err: ARRAY 256 OF CHAR;
PROCEDURE IntToString(x: INTEGER; VAR str: ARRAY OF CHAR);
VAR buf: ARRAY 12 OF BYTE; i, j: INTEGER;
BEGIN
IF x = MIN(INTEGER) THEN str := "-2147483648"; RETURN END;
IF x < 0 THEN x := -x; str[0] := '-'; i := 1; ELSE i := 0; END;
j := 0;
REPEAT buf[j] := SHORT(SHORT((x MOD 10))); INC(j); x := x DIV 10 UNTIL x = 0;
DEC(j);
WHILE (j >= 0) & (i < LEN(str) - 1) DO str[i] := CHR(ORD('0') + buf[j]); INC(i); DEC(j); END;
str[i] := 0X;
END IntToString;
BEGIN
res := WinApi.MessageBoxW(0, "hello", "Test", {});
IF res = 0 THEN (* failed *)
res := WinApi.GetLastError();
IntToString(res, err);
res := WinApi.LoadLibraryA("COMCTL32.dll");
res := WinApi.MessageBoxW(0, err, "GetLastError", {});
END
END ObxTest4.
DevLinker.Link
ObxTest4.exe := ObxTest4$