Seite 1 von 1

von dll aus auf aktuelles fenster zeichnen ?

Verfasst: 21.01.2007 14:35
von xverbatim
Hallo,

irgendwie läuft das nicht so,

ich versuche von visual basic eine dll aufzurufen, die ich in purebasic geschrieben habe und diese soll mir nur irgendetwas auf das hauptfenster zeichnen, aber irgendwie läuft das alles nicht...

wie kriege ich denn die screenID?wo muß ich das denn einsetzen ?

wäre nett, wenn mir jemand den unteren code so hinbiegt, daß ich einfach auf dem fenster etwas ausgeben kann (von visual basic form1)


noch eine frage, wie kann ich fenster, die ich über eine dll aufgerufen habe, wieder schließen ?


danke im vorfeld +gruß
xverbatim


Code: Alles auswählen

 ProcedureDLL zeichne_irgendwas_screen()
 
  Width=200
  Height=150 

 ; hier die ID ???? 

  OutID = ScreenOutput()
  
    If StartDrawing(OutID)

      x = Width/2
      y = Height/2
      For Radius = Height/2 To 10 Step -10
        Circle(x, y, radius ,RGB(Random(255),Random(255),Random(255)))
      Next
      StopDrawing()  

    EndIf
    
    Repeat : Event = WaitWindowEvent() : Until  Event = #PB_Event_CloseWindow
   
 EndProcedure
 
 
 

Verfasst: 21.01.2007 17:10
von Vallan
>OutID = ScreenOutput()

ein fenster braucht Window output() . wie du das allerdings aus VB krigen willst weiß ich nicht,

Verfasst: 21.01.2007 19:24
von a14xerus

Code: Alles auswählen

ProcedureDLL zeichne_irgendwas_screen(OutID) 
  
  Width=200 
  Height=150 

  
    If StartDrawing(OutID) 

      x = Width/2 
      y = Height/2 
      For Radius = Height/2 To 10 Step -10 
        Circle(x, y, radius ,RGB(Random(255),Random(255),Random(255))) 
      Next 
      StopDrawing()  

    EndIf 
    
    Repeat : Event = WaitWindowEvent() : Until  Event = #PB_Event_CloseWindow 
    
 EndProcedure
Der Screenoutput ist sowiet ich weiß doch immer anders, muss also vom programman die dll übergeben werden
und wenn ich mich nich irre muss in der dll auch initsprite rein
/edit:
/edit 2: vergess das folgende :freak:
(zb so:

Code: Alles auswählen

ProcedureDLL AttachProcess(Instanz)
 initsprite()
ndProcedure
)

Verfasst: 21.01.2007 19:40
von ts-soft
a14xerus hat geschrieben: und wenn ich mich nich irre muss in der dll auch initsprite rein
(zb so:

Code: Alles auswählen

ProcedureDLL AttachProcess(Instanz)
 initsprite()
ndProcedure
)
PureBasic.chm hat geschrieben:- DirectX Initialisierungsroutinen dürfen nicht innerhalb der AttachProcess Prozedur geschrieben werden.
- ohne Worte - :mrgreen:

Verfasst: 21.01.2007 20:39
von Vallan
DA er aber VB zum erstellen und verwalten des fensters verwenden will kann er nicht Windowoutput() (Ja dür fenstter Windowoutput) verwenden...

Verfasst: 21.01.2007 20:40
von a14xerus
tja.. wenn ich mal alles lesen würde (ich selber hab das noch nie benutzt, ist mir garde nur so eingefallen)