http://darkbasicpro.thegamecreators.com ... 19.html#15
Maybe this means more users incoming?

Just thought i'd mention it.
The meaning in english is:Il est interdit d'encapsuler ou d'utiliser directement les commandes de haut niveau de PureBasic dans un autre language de de programmation que ce soit sous forme de bibliothèques dynamiques (DLL) ou statiques.
All I'm saying is that Fred should get with the DB Developers and have a simple chat, about protecting each others stuff.
Agreed! This should be made clear to the DarkBasic Community.Generally yes. You can make DLLs including PureBasic commands for your own projects without any restrictions. But it's not allowed to release simple "wrapper" Dlls to include PureBasic commands in other programming languages.
No, there really isn't much that can be done about it. Except to at leastMoonshine wrote:To be honest, theres not much people can do is there? How can admin stop people doing it?
The beautiful thing is, that Fred wouldn't need a lawyer. Its just like in thefweil wrote:It is really easy to bring before the courts.
I am ready to give my cent or my 50 euros to a lawyer Fred will choose.
It is not a joke.
Rgrds
Code: Select all
Procedure.l apiOpenWindow( hWnd.l, x.l, y.l, sizex.l, sizey.l, title.s )
EndProcedure OpenWindow( hWnd, x, y, sizex, sizey, title )
EndProcedure
Code: Select all
Interface IWinapi1
hWnd()
sGetTitle( a.l )
Release()
EndInterface
NewList WinApi.IWinapi1
Procedure.l apiCreateWindow( hWnd.l, sizex.l, sizey.l, title.s )
AddElement( WinApi.hWnd() )
WinApi.hWnd() = OpenWindow( hWnd, 0, 0, sizex, sizey, title )
ProcedureReturn WinApi.hWnd()
EndProcedure
Code: Select all
Interface IWinapi1
hWnd()
sGetTitle( a.l )
Release()
EndInterface
NewList WinApi.IWinapi1
Procedure.l apiCreateWindow( hWnd.l, sizex.l, sizey.l, title.s )
AddElement( WinApi.hWnd() )
WinApi.hWnd() = OpenWindow( hWnd, 0, 0, sizex, sizey, title )
ProcedureReturn WinApi.hWnd()
EndProcedure
Code: Select all
hWndMain = CreateWindowEx_(#StyleEx, WindowClass, "Test-Window", #Style, 10, 10, 200, 200, 0, 0, 0, 0)
Code: Select all
Procedure WindowCallback(Window, Message, wParam, lParam)
Select Message
Case #WM_CLOSE
If MessageBox_(Window, "Are you sure you want to quit?", "EXIT", #MB_YESNO) = #IDYES
DestroyWindow_(Window)
Else
Result = 0
EndIf
Case #WM_DESTROY
PostQuitMessage_(0)
Result = 0
Default
Result = DefWindowProc_(Window, Message, wParam, lParam)
EndSelect
ProcedureReturn Result
EndProcedure
#Style = #WS_VISIBLE | #WS_BORDER | #WS_SYSMENU
#StyleEx = #WS_EX_TOOLWINDOW ;| #WS_EX_OVERLAPPEDWINDOW
WindowClass.s = "MyWindow"
wc.WNDCLASSEX
wc\cbSize = SizeOf(WNDCLASSEX)
wc\lpfnWndProc = @WindowCallback()
wc\hCursor = LoadCursor_(0, #IDC_CROSS); #IDC_ARROW = Arrow
; #IDC_SIZEALL = Size Arrow
; #IDC_CROSS = Cross
wc\hbrBackground = #COLOR_WINDOW + 1;CreateSolidBrush_(RGB($8F,$8F,$8F))
wc\lpszClassName = @WindowClass
RegisterClassEx_(@wc)
hWndMain = CreateWindowEx_(#StyleEx, WindowClass, "Test-Window", #Style, 10, 10, 200, 200, 0, 0, 0, 0)
CreateWindowEx_(0, "Static", "", #WS_CHILD | #WS_VISIBLE | $12, 9, 9, 102, 22, hWndMain, 0, 0, 0)
CreateWindowEx_(0, "Button", "Button 1", #WS_CHILD | #WS_VISIBLE, 10, 10, 100, 20, hWndMain, 0, 0, 0)
ShowWindow_(hWndMain, #SW_SHOWDEFAULT)
UpdateWindow_(hWndMain);
While GetMessage_(msg.MSG, #NULL, 0, 0 )
TranslateMessage_(msg)
DispatchMessage_(msg)
Wend
Code: Select all
Procedure msg(title$, text$)
r = MessageRequester(title$, text$)
ProcedureReturn r
EndProcedure
Code: Select all
Procedure msg(title$, text$)
r = MessageBox_(0, text$, title$, 0)
ProcedureReturn r
EndProcedure