Показать сообщение отдельно
Старый 05.03.2010, 16:21   #18
Rapido
AnyKey`щик
 
Регистрация: 05.03.2010
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как приделать к BlitzMax DLL

Тоже не могу разобратся с декларированием библиотек.
(Только начинаю знакомится с Блитцом)

Extern "win32"
    Function FindWindowA%(class%,title$z)
    Function LoadLibraryA(lib$z)
    Function GetProcAddress:Byte Ptr(lib%,fname$z) 
End Extern

Global Привет("Hello")

Global lib%=LoadLibraryA("1.dll")
If lib% Then
    Привет =GetProcAddress(lib,"SomeFunction")
Else
    RuntimeError("Еггор при открытие библы)  ") 
    End
End If
Ошибка компиляции Global Привет("Hello")
Expecting identifier but encountered @


Еще такое нашёл
Framework brl.standardio
Import Pub.Win32

MyLib = LoadLibraryA ("1.dll")
Global  l_USER_LOAD(value:String)   = GetProcAddress (MyLib ,"SomeFunction")

l_USER_LOAD("Hello!")
FreeLibrary(Lib_Handle)
End

Extern "win32"
	Function FreeLibrary(hLibrary:Int)'
End Extern
Это работает но частично, Библиотека аттачится, выдаёт мессаг бокс как и задумано, только вместо текста корявки какие-то в уникоде, притом независимо что передавать, на выходе текст один и тот же ("?A?@?A"). Такое чуство что просто параметр неправильно передаёт. В библиотеке ставил ByVal параметр, вместо ByRef одна бадья, возвращает 0, вместо корявок. Может в самом блитзе указать что передавать нужно значение а не ссылку.
(Offline)
 
Ответить с цитированием