Seite 1 von 2

DLL für Dark Basic Pro

Verfasst: 22.11.2007 16:11
von MrOlsen
Hallo, ich schreibe gerade an einer DLL für Dark Basic Pro (Ähnlich der GlueGUI)
Soweit so gut. Aber mit dem Menü klapp es nicht so recht, irgendwie bekomme ich nicht die Handles zürück vom DB Fenster :cry:
Meine Frage, was muss ich machen damit ich ein menü im Fenster von DB Abfragen kann?

Re: DLL für Dark Basic Pro

Verfasst: 22.11.2007 16:54
von Kiffi
Code?

Ansonsten:

Bild

Grüße ... Kiffi

Verfasst: 23.11.2007 17:00
von MrOlsen
Oh hab ich den Code vergessen.':oops:'

Hier die Event Abfragen

ProcedureCDLL.l _Even()
raus = WaitWindowEvent(10) ; This line waits until an event is received from Windows

WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures

GadgetID = EventGadget() ; Is it a gadget event?
menuid=EventMenu()
EventType = EventType() ; The event type

SetClipboardText(Str(WindowID)+"|"+Str(GadgetID)+"|"+Str(menuid)+"|"+Str(EventType))
ProcedureReturn raus
EndProcedure

Hier wird das Menü erstellt.

In DB
hwnd= call dll(1,"GetForegroundWindow")
mm=_Creatmen("&Datei",hwnd)
Add Menu 1,"Laden"
Add Menu 2,"Neu"
MenuBar
add menu 3,"Ende"

ProcedureCDLL.l _Creatmen(Text$,win)
raus=CreateMenu( #PB_Any, win)
MenuTitle(Text$)
ProcedureReturn raus
EndProcedure

ProcedureCDLL _AddMenu(nr,Text$)
MenuItem(nr, Text$)
EndProcedure

ProcedureCDLL _MBar()
MenuBar()
EndProcedure

ProcedureCDLL _SubMenu(Text$)
OpenSubMenu(Text$)
EndProcedure

ProcedureCDLL _CMbar()
CloseSubMenu()
EndProcedure

ProcedureCDLL.l _Popmem()
raus=CreatePopupMenu( #PB_Any )
ProcedureReturn raus
EndProcedure

ProcedureCDLL.l _GetMenItem(menunr,item)
If IsMenu(menunr)
raus=GetMenuItemState(menunr,item)
EndIf
ProcedureReturn raus
EndProcedure

ProcedureCDLL _SetMenuItem(menunr,me,st)
If IsMenu(menunr)
SetMenuItemState(menunr, me, st)
EndIf
EndProcedure

Warum liefert GadgetID das selbe wie Menuid? :freak:

Verfasst: 23.11.2007 17:44
von Kiffi
MrOlsen hat geschrieben:

Code: Alles auswählen

[...]
ProcedureCDLL _AddMenu(nr,Text$)
MenuItem(nr, Text$)
EndProcedure

ProcedureCDLL _MBar()
MenuBar()
EndProcedure
[...]
sieht fast so aus, als ob Du einen Wrapper schreiben wolltest.

Diesbezüglich solltest Du Dir dringend die PB-Lizenz durchlesen:
PB-Hilfe hat geschrieben:Die PureBasic Lizenz verbietet ausdrücklich die Erstellung von DLL's, deren
Hauptfunktion es ist, als ein 'Wrapper' für PureBasic-Funktionen zu dienen.
Grüße ... Kiffi

Verfasst: 24.11.2007 00:40
von edel
Solange er es fuer sich nutzt, ist es aber auch
vollkommen egal, was in der Hilfe steht.
You can make DLLs including PureBasic commands for your own projects without any
restrictions. But it's not allowed to release simple freeware or commercial "wrapper"
DLLs to include PureBasic commands in other programming languages.

Verfasst: 24.11.2007 14:03
von super_castle
Die PureBasic Lizenz verbietet ausdrücklich die Erstellung von DLL's, deren
Hauptfunktion es ist, als ein 'Wrapper' für PureBasic-Funktionen zu dienen.

was soll denn diese scheiss einschränkung ..hä..lachhaft diese nummer.
mein gott walter wo leben wir denn. jeder popelige arbeitslose bastelt so eine lizens.

Verfasst: 24.11.2007 14:16
von Laurin
Es ist einfach nicht erlaubt. Da gibt es nichts, woran man rummäkeln könnte.

Verfasst: 24.11.2007 14:48
von edel
super_castle hat geschrieben:
Die PureBasic Lizenz verbietet ausdrücklich die Erstellung von DLL's, deren
Hauptfunktion es ist, als ein 'Wrapper' für PureBasic-Funktionen zu dienen.

was soll denn diese scheiss einschränkung ..hä..lachhaft diese nummer.
mein gott walter wo leben wir denn. jeder popelige arbeitslose bastelt so eine lizens.

1. Wenn du ein Produkt verkaufst, moechtest du doch auch nicht, dass
jemand dein Produkt verkauft oder gar verschenkt.

2. Fuer private Zwecke trifft der Lizenzpunkt nicht zu. Zumal in der
Lizenz bei der Installation eh etwas anderes steht (s.o.).

Verfasst: 24.11.2007 15:57
von PMV
super_castle hat geschrieben:
Die PureBasic Lizenz verbietet ausdrücklich die Erstellung von DLL's, deren
Hauptfunktion es ist, als ein 'Wrapper' für PureBasic-Funktionen zu dienen.

was soll denn diese scheiss einschränkung ..hä..lachhaft diese nummer.
mein gott walter wo leben wir denn. jeder popelige arbeitslose bastelt so eine lizens.
Lachhaft und erlich gesagt ein wenig nervend find ich nur deinen "Ton".
Sorry aber jedes mal wenn du postest lese ich die selbe Nörgelei. Muss
das wirklich sein?

MFG PMV

Verfasst: 24.11.2007 15:58
von milan1612
Da hat PMV leider Recht, reiß dich mal ein bisschen zusammen...