у меня Clarion.NET 2.0.2684
дока очень скудная, может есть что почитать на эту тему, интересует вопрос - как задействовать win api, аналог декларации dllimpot'а я нашёл, а как юзать дальше функции непонятно, т к в .NET нету простых переменных, все наследуются от object, а мне нужны что то типа char *
WinAPI в Clarion.NET
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: WinAPI в Clarion.NET
потихоньку разбираюсь, вот как это выглядит:
MessageBox(0,'Text','Caption',0)
идёт на ура
а вот тот же memcpy - GPF, понятно что разные декларации функций, для первого PASCAL, для второй C, но эти атрибуты теперь недоступны в описании процедур, а вставить в
- USING('System.Runtime.InteropServices')
MAP
[DllImportAttribute('user32.dll',EntryPoint='MessageBoxA',)]
MessageBox(UNSIGNED hWnd,STRING Text,STRING Caption,UNSIGNED Type),SIGNED,PROC
[DllImportAttribute('c70run.dll',EntryPoint='_memcpy']
RTL::memcpyLF(CLALONG,STRING,CLALONG),CLALONG,PROC,PASCAL
[DllImportAttribute('c70run.dll',EntryPoint='Cla$NewMemZ']
RTL::NewMem(CLALONG _Size),CLALONG
[DllImportAttribute('c70run.dll',EntryPoint='_free')]
RTL::FreeMem(CLALONG _Addr)
END
MessageBox(0,'Text','Caption',0)
идёт на ура
а вот тот же memcpy - GPF, понятно что разные декларации функций, для первого PASCAL, для второй C, но эти атрибуты теперь недоступны в описании процедур, а вставить в
- [DllImportAttribute( 'c70run.dll',EntryPoint='_memcpy',CallingConvention=CallingConvention.Cdecl)]