mein code stürtzt ab warum?

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: mein code stürtzt ab warum?

BeitragSa, Jan 21, 2006 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute habe volgendes problem, ich habe hier ein programm was dynamisch sein soll, mit rechtermaustaste soll ein neues fenster geöffnet werden, das geht ohne probleme, aber wenn man ein fenster schliesst stürtzt des programm ab, warum? was ist an diesem code falsch? habe eigentlich alles beachtet,


HAUPTCODE
Code: [AUSKLAPPEN]

Include "Types.bb"
Include "Global.bb"
Include "functionen.bb"


Const amount = 10 ; Anzahl der Toolbaritems
Const size = 32 ; Breite bzw. Höhe der Toolbaritems



Create_Window()

Repeat
   nr=WaitEvent()
      For Window.Window=Each Window

   
      If nr=$401 And EventSource()=Window\Tabber_Name$
         Select SelectedGadgetItem(Window\Tabber_Name$)
            Case 0
               HideGadget Window\verlauf_list$
               HideGadget Window\favoriten_list$
               HideGadget Window\Hilfe_Name$
               HideGadget Window\button_verlaufleeren$
               ShowGadget Window\Html_Name$
               
            Case 1
               HideGadget Window\verlauf_list$
               HideGadget Window\Html_Name$
               HideGadget Window\Hilfe_Name$
               HideGadget Window\button_verlaufleeren$
               ShowGadget Window\favoriten_list$
            
            Case 2
               HideGadget Window\favoriten_list$
               HideGadget Window\Html_Name$
               HideGadget Window\Hilfe_Name$
               HideGadget Window\button_verlaufleeren$
               ShowGadget Window\verlauf_list$
            
            Case 3
               HideGadget Window\favoriten_list$
               HideGadget Window\verlauf_list$
               HideGadget Window\Hilfe_Name$
               HideGadget Window\Html_Name$
               ShowGadget Window\button_verlaufleeren$
            
            Case 4
               HideGadget Window\favoriten_list$
               HideGadget Window\Html_Name$
               HideGadget Window\verlauf_list$
               HideGadget Window\button_verlaufleeren$
               ShowGadget Window\Hilfe_Name$
               

         End Select
      EndIf



   






If MouseHit(2) Then  Create_Window()


   Next
   
   If nr=$803 Then
         FensterID=ActiveWindow()
         For window.Window=Each Window
            If Window\Window_ID=FensterID Then
               FreeGadget FensterID
               OffeneFenster=OffeneFenster-1
               Delete Window.Window
               beende=1
            EndIf
            If OffeneFenster=0 Then End
            Next
      EndIf
         
   
   If beende=1 Then
      beende=0
      ActivateWindow Window\Window_Name$
      ActivateGadget Window\Menu1$
      ActivateGadget Window\Menu2$
      ActivateGadget Window\Menu3$
      ActivateGadget Window\Menu4$
      ActivateGadget Window\Menu5$
      ActivateGadget Window\Menu6$ 
      ActivateGadget Window\Menu7$
      ActivateGadget Window\Menu8$
      ActivateGadget Window\Menu9$
      ActivateGadget Window\Menu10$
      ActivateGadget Window\Menu11$
      ActivateGadget Window\Panel_Name$
      ActivateGadget Window\Toolbar_Name$
      ActivateGadget Window\SliderX_Name$
      ActivateGadget Window\URL_Name$
      ActivateGadget Window\LOS_Name$
      ActivateGadget Window\Tabber_Name$
      ActivateGadget Window\Html_Name$
      ActivateGadget Window\Button_VerlaufLeeren$
      ActivateGadget Window\Favoriten_List$
      ActivateGadget Window\Verlauf_List$
      ActivateGadget Window\Hilfe_Name$
      ActivateGadget Window\Progbar_Name$
      ActivateGadget Window\Original_Url$
      ActivateGadget Window\Can_Name$
      ActivateGadget Window\Canvas_Name$


   EndIf


Forever



Die Function .bb

Code: [AUSKLAPPEN]

Function Create_Window()
   OffeneFenster=OffeneFenster+1
   
   ;Eigene Declarationen
   fenstername$="Window"+OffeneFenster
   menu1name$="Menu1"+OffeneFenster
   menu2name$="Menu2"+OffeneFenster
   menu3name$="Menu3"+OffeneFenster
   menu4name$="Menu4"+OffeneFenster
   menu5name$="Menu5"+OffeneFenster
   menu10name$="Menu6"+OffeneFenster
   menu7name$="Menu7"+OffeneFenster
   menu8name$="Menu8"+OffeneFenster
   menu9name$="Menu9"+OffeneFenster
   menu10name$="Menu10"+OffeneFenster
   menu11name$="Menu11"+OffeneFenster
   panel$="Panel"+OffeneFenster
   toolbar$="toolbar"+OffeneFenster
   slider$="SliderX"+OffeneFenster
   url$="URL"+OffeneFenster
   los$="LOS"+OffeneFenster
   tabber$="Tabber"+OffeneFenster
   htmlview$="HtmlView"+OffeneFenster
   button_verlauf_leeren$="button_verlauf_leeren"+OffeneFenster
   favoriten_list$="favoriten_list"+OffeneFenster
   verlauf_list$="verlauf_list"+OffeneFenster
   hilfe$="hilfe"+OffeneFenster
   progbar$="progbar"+OffeneFenster
   orginalURL$="orginalURL"+OffeneFenster
   can$="can"+OffeneFenster
   canvas$="canvas"+OffeneFenster
   
   
   
   
   
   ;Fenster wird erstellt
   fenstername$=CreateWindow( "PureChannel Webbrowser v1.0   - Meine InternetIP "+Meine_InternetIP$,0,0,DeskW,DeskH-30,0,3)
   FensterID=ActiveWindow ()
   
   
   ;Menü's werden erstellt
   menu1name$=CreateMenu(" Datei ",1,WindowMenu(fenstername$))
   menu3name$=CreateMenu(" Meine Favoriten ",3,WindowMenu(fenstername$))

   bookfile = ReadFile("Data\flau.PCB")
   While Not Eof(bookfile)
      bookname$ = ReadLine(bookfile)
      bookURL$ = ReadLine(bookfile)
      If bookURL<>""
      CreateMenu (bookname,bookf,menu3name$)
      bookf = bookf +1
   EndIf
   Wend
   CloseFile bookfile

   menu4name$=CreateMenu("Neu",4,menu1name$)
   menu5name$=CreateMenu("Fenster",5,menu4name$)
   menu6name$=CreateMenu("",6,menu4name$)
   menu7name$=CreateMenu("E-Mail",7,menu4name$)
   menu8name$=CreateMenu("Update Chack",8,menu4name$)
   menu9name$=CreateMenu("Browser Infos",9,menu4name$)
   menu10name$=CreateMenu("",10,menu1name$)
   menu11name$=CreateMenu("Beenden",11,menu1name$)

   UpdateWindowMenu fenstername$

   
   ;Panel wird erstellt
   panel$= CreatePanel(0,0,amount*(size+7),size+8,fenstername$)
   toolbar$=CreateToolBar("Data\Toolbar.bmp",deskw-512,0,64,64,panel$)
   SetToolBarTips toolbar$,"Neue Fenster Öffnen,Zurück,Vor,Abbrechen,Aktualisieren,home,Zu den Favoriten,PureChannel Hauptseite, E-Mail Eingang von Purechannel,Suchen"
   slider$= CreateSlider(0,size+15,amount*32+70,10,fenstername$,1)
   SetSliderRange slider$,ClientWidth(fenstername$),GadgetWidth(panel$)
   
   
   ;eingabe
   URL$=CreateTextField(10,65,500,20,fenstername$)
   LOS$=CreateButton("LOS !",515,65,55,20,fenstername$,1)
   
   
   
   
   ;Tabbermenu
   tabber$=CreateTabber(15,95,deskw-35,deskh-200,fenstername$)
   AddGadgetItem tabber$," Viewer "
   AddGadgetItem tabber$," Favoriten "
   AddGadgetItem tabber$," Verlauf  "
   AddGadgetItem tabber$," Einstellungen "
   AddGadgetItem tabber$," Hilfe "

   
   ;einzelnen tabber felder
   htmlview$=CreateHtmlView(0,0,deskw-40,deskh-220,tabber$)
   button_verlauf_leeren$=CreateButton("Verlauf Leeren",10,10,100,20,tabber$,1)
   favoriten_list$=CreateListBox(0,0,deskw-40,deskh-220,tabber$)
   verlauf_list$=CreateListBox(0,0,deskw-40,deskh-220,tabber$)
   hilfe$=CreateTextArea(0,0,deskw-40,deskh-220,tabber$)

   font=LoadFont("Arial",15,1,0,0)
   fonta=LoadFont("Arial",12,0,0,0)
   SetTextAreaFont hilfe$,font
   SetTextAreaColor hilfe$,0,128,255,1
   SetTextAreaColor hilfe$,0,0,0,0
   AddTextAreaText hilfe$,"Willkommen in der Hilfe von PureChannel Web Browser"+Chr(13)+"test font"
   DisableGadget hilfe$

   progbar$=CreateProgBar(330,95,deskw-400,20,fenstername$)
   orginalURL$=CreateTextArea(15,deskh-100,deskw-35,20,fenstername$)
   
   SetTextAreaFont orginalURL$,font
   SetTextAreaColor orginalURL$,0,128,255,1
   SetTextAreaColor orginalURL$,0,0,0,0
   DisableGadget orginalURL$
   
   can$ = CreateCanvas(5,95,deskw-15,deskh-195,fenstername$)
   canvas$ = CreateCanvas(deskw-105,10,deskw-5,80,fenstername$)

   
   
   
   Window.Window=New Window
   Window\Window_Name$=fenstername$
   Window\Window_ID=FensterID
   Window\Menu1$=menu1name$
   Window\Menu2$=menu2name$
   Window\Menu3$=menu3name$
   Window\Menu4$=menu4name$
   Window\Menu5$=menu5name$
   Window\Menu6$=menu6name$
   Window\Menu7$=menu7name$
   Window\Menu8$=menu8name$
   Window\Menu9$=menu9name$
   Window\Menu10$=menu10name$
   Window\Menu11$=menu11name$
   Window\Panel_Name$=panel$
   Window\Toolbar_Name$=toolbar$
   Window\SliderX_Name$=Slider$
   Window\URL_Name$=URL$
   Window\LOS_Name$=LOS$
   Window\Tabber_Name$=tabber$
   Window\Html_Name$=htmlview$
   Window\Button_VerlaufLeeren$=button_verlauf_leeren$
   Window\Favoriten_List$=favoriten_list$
   Window\Verlauf_List$=Verlauf_List$
   Window\Hilfe_Name$=hilfe$
   Window\Progbar_Name$=progbar$
   Window\Original_Url$=orginalURL$
   Window\Can_Name$=can$
   Window\Canvas_Name$=canvas$
   
   
   SetGadgetLayout URL$,1,0,1,0
   SetGadgetLayout progbar$,1,1,1,0
   SetGadgetLayout LOS$,1,0,1,0
   SetGadgetLayout can$,1,0,1,0
   SetGadgetLayout tabber$ ,1,1,1,1
   SetGadgetLayout htmlview$,1,1,1,1
   SetGadgetLayout slider$,1,1,1,0
   SetGadgetLayout favoriten_list$,1,1,1,1
   SetGadgetLayout verlauf_list$,1,1,1,1
   SetGadgetLayout hilfe$,1,1,1,1
   SetGadgetLayout panel$,1,0,1,0
   SetGadgetLayout button_verlauf_leeren$,1,0,1,0
   SetGadgetLayout orginalURL$,1,1,0,1
   SetGadgetLayout canvas$,0,1,1,0

   HideGadget favoriten_list$
   HideGadget verlauf_list$
   HideGadget hilfe$
   HideGadget button_verlauf_leeren$

   
   HtmlViewGo htmlview,"http://purechannel.ath.cx"
   eingabe$="http://purechannel.ath.cx"

End Function


die global.bb
Code: [AUSKLAPPEN]

Global Version$
Global DeskW=ClientWidth(Desktop())
Global DeskH=ClientHeight(Desktop())
Global OffeneFenster=0
Global Meine_InternetIP$
Global eingabe$


und die type.bb

Code: [AUSKLAPPEN]

Type Window
   Field Window_Name$
   Field Window_ID
   Field Menu1$
   Field Menu2$
   Field Menu3$
   Field Menu4$
   Field Menu5$
   Field Menu6$
   Field Menu7$
   Field Menu8$
   Field Menu9$
   Field Menu10$
   Field Menu11$
   Field Panel_Name$
   Field Toolbar_Name$
   Field SliderX_Name$
   Field URL_Name$
   Field LOS_Name$
   Field Tabber_Name$
   Field Html_Name$
   Field Button_VerlaufLeeren$
   Field Favoriten_List$
   Field Verlauf_List$
   Field Hilfe_Name$
   Field Progbar_Name$
   Field Original_Url$
   Field Can_Name$
   Field Canvas_Name$
End Type



ich kann es mir nicht erklären bitte um dringenden rat

danke im vorraus
 

Felix

BeitragSa, Jan 21, 2006 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mir den code jetzt zwar nicht gründlich angegugt, aber
wahrscheinlci liegts daran, dass wenn du auf x drückst($803), dann wird das programm beendet.
vll solltest du diese stelle
If nr=$803 Then
FensterID=ActiveWindow()
For window.Window=Each Window
If Window\Window_ID=FensterID Then
FreeGadget FensterID
OffeneFenster=OffeneFenster-1
Delete Window.Window
beende=1
EndIf
If OffeneFenster=0 Then End
Next
EndIf
besser so machen(das musst du dann nur noch deinem code anpassen)

if nr = $803 then
freegadget was weiß ich...
endif
Meine laufenden Projekte:
-Chat
-Schachprogramm(3D)

Mathias-Kwiatkowski

BeitragSa, Jan 21, 2006 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
das $803 ist nur wenn man ein fenster beendet und wenn es keine fenster mehr gibt dann beendet er des programm

sorry hättest es dir besser ansehen müssen

Hip Teen

BeitragSa, Jan 21, 2006 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Tz, nicht er hätte es sich besser ansehen sollen, du solltest dein Problem mal genauer schildern.

Tipps dafür: Die Fehlermeldung (ist da überhaupt eine?) schreiben
Die Dateien, die das Prog braucht, posten, damit man den Fehler nachvollziehen kann (durch deine Beschreibung geht das nicht)
Und vielleicht mal deinen Code gescheit strukturieren Shocked
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Mathias-Kwiatkowski

BeitragSa, Jan 21, 2006 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
naja windows meldet sich und mit dem dialog senden oder nicht senden

wie soll ich des denn noch genauer beschreiben?

ich starte das programm, es funktioniert auch, ich kann soviele fenster wie möglich mit der rechten maustaste öffnen, aber wen ich ein fenster schliesse ist nicht automatisch das andere aktuell, nein, dann kommt dieser fehler...

Mathias-Kwiatkowski

BeitragSa, Jan 21, 2006 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
hier ein screenshoot des fehlers

http://purechannel.ath.cx:81/fehler.png

EDIT
dieser fehler taucht erst auf wenn man ein fenster mit der rechten maustaste öffnet und dann schliesst, wenn man allerdings keinneues fenster öffnet funktioniert es einwandfrei... woran liegt es

Hip Teen

BeitragSo, Jan 22, 2006 0:23
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, damit du bei der Sache mal was lernst, mach folgendes: Schalte den Debugmodus an, erhalte dadurch eine gescheite Fehlermeldung und die Stelle im Code, wo der Fehler ist und du wirst sehr herausfinden, wo der Fehler liegt.
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Mathias-Kwiatkowski

BeitragSo, Jan 22, 2006 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
debug modus? wie geht der denn an?

soli

BeitragSo, Jan 22, 2006 5:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wäre es wenn du dir das Menue von deinem
Editor näher anschaust?
solitaire
 

Felix

BeitragSo, Jan 22, 2006 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
wie wärse denn mit Programm | Debug enabled?
Meine laufenden Projekte:
-Chat
-Schachprogramm(3D)

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group