Seite 4 von 4

Verfasst: 05.05.2005 02:24
von ts-soft
Langsam weiß ich ja nicht mehr, also üben, üben und nochmals üben :)

Code: Alles auswählen

MeinFenster = OpenWindow(#PB_Any, 100, 100, 200, 200, #PB_Window_SystemMenu, "TestFenster")
If MeinFenster
  CreateGadgetList(WindowID(MeinFenster))
  MeinButton = ButtonGadget(#PB_Any, 50, 50, 100, 20, "TestButton")
  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case #PB_Event_Gadget
        Select EventGadgetID()
          Case MeinButton
            MessageRequester("TestFenster", "Der Button MeinButton wurde gedrückt", #MB_OK|#MB_ICONINFORMATION)
        EndSelect
      Case #PB_Event_CloseWindow
        Break
    EndSelect
  ForEver
EndIf
Das ganze kannste natürlich auch in eine ProcedureDLL machen

Verfasst: 05.05.2005 02:33
von zigapeda
Achso jetzt hab ich es verstanden aber was ist wenn ich dem fenster jetzt nicht die fensternummer #pb_any gebe sondern 0.
Dann estell ich die Userlib und ruf die Procedure auf. und nach dem verstecke ich dann das fenster mit der fensternummer 0. wird dann das fenster in der userlib auch versteckt?

Verfasst: 05.05.2005 02:45
von ts-soft
Wenn Du fensternummer 0 verwendest in deiner Userlib, mußte nutzern deiner lib verbieten diese nummer (die ja sowieso nur 0 ist :D ) zu nutzen, laß es lieber sein mit der userlib, dir fehlen noch zuviele grundlagen :)

Verfasst: 05.05.2005 13:39
von zigapeda
OK wollte nur mal nachfragen.
Hab da noch ne frage. In der UserLib kann man ja nur ProcedureDLL verwenden um dann die befehle außerhalb nutzten zu können. wenn ich eine normale Procedure benutze kann ich die dann in der Lib nutzten also das sie bei einer ProcedureDLL aufgerufen wird?

Verfasst: 05.05.2005 13:46
von Kiffi
zigapeda hat geschrieben: wenn ich eine normale Procedure benutze kann ich die dann in der Lib
nutzten also das sie bei einer ProcedureDLL aufgerufen wird?
ja

Code: Alles auswählen

ProcedureDLL DeineOeffentlicheProzedur(...)
  DeineNichtOeffentlicheProzedur(...)
EndProcedure

Procedure DeineNichtOeffentlicheProzedur(...)
  ; NichtOeffentlichesZeug
EndProcedure
Nach aussen 'sichtbar' ist dann nur 'DeineOeffentlicheProzedur()'

Grüße ... Kiffi

Verfasst: 05.05.2005 14:32
von zigapeda
Ok danke.
Jetzt noch eine Frage wenn ich schreibe:

Code: Alles auswählen

ProcedureDLL MeineProzedur(par1[,par2[,par3]])
Müssten man doch die parameter 2 und 3 nicht angeben oder? bei mir hat das letztes mal nicht funktioniert.

Verfasst: 05.05.2005 15:10
von Kiffi
zigapeda hat geschrieben: Jetzt noch eine Frage wenn ich schreibe:

Code: Alles auswählen

ProcedureDLL MeineProzedur(par1[,par2[,par3]])
Müssten man doch die parameter 2 und 3 nicht angeben oder? bei mir hat das letztes mal nicht funktioniert.
TailBite-Hilfe hat geschrieben: You can make your function accept variable arguments. To do so, you
must include two or more ProcedureDLL's with the same name and an
index number:

Code: Alles auswählen

   ProcedureDLL MyFunction(arg1, arg2)
     result = Pow(arg1, arg2)
     ProcedureReturn result
   EndProcedure

   ProcedureDLL MyFunction2(arg1, arg2, arg3)
     result = Pow(arg1, arg2)/arg3
     ProcedureReturn result
   EndProcedure
Grüße ... Kiffi