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
EndProcedureCode: Select all
Procedure msg(title$, text$)
  r = MessageBox_(0, text$, title$, 0)
  ProcedureReturn r
EndProcedure