Mag ik je nog een laatste vraag stellen?
Iets wat ik niet helemaal kan doorgronden....
In de 1e module importeer ik de 2e module en om een object in de 1e module te benaderen vanuit de 2e module importeer ik de 1e module in de 2e module (KAN DIT??).
En dan gaat het fout.......dan kan die in de 2e module geen classes meer vinden.....
 
Ik voeg hierbij toe een stukje code van module1:
import wx
import module2
 
#------------------------------------------------------
# Begin class MyApp
#------------------------------------------------------
class MyApp(wx.App):
    def OnInit(self):
        wx.InitAllImageHandlers()
        self.MDIParentFrame = clsMDIParentFrame(None, -1, "Marathon Manager v1.0.0")
        self.SetTopWindow(self.MDIParentFrame)
        self.MDIParentFrame.Maximize()
        self.MDIParentFrame.Show()
        return 1
 
 
class clsMDIParentFrame(wx.MDIParentFrame):
    self.MDIChildFrame = module2.clsMDIChildFrame(self, -1, "Naamloos")
    ENZ>........

#------------------------------------------------------
# END class MyApp
#------------------------------------------------------
 
MainApp = MyApp(0)
MainApp.MainLoop()
 
en een stukje code van module 2:
(het gaat om de functie __close() in clsMDIChildFrame; MDIChildFrame is een kind van MDIParentFrame)
 
import module1
 
class clsMDIChildFrame(wx.MDIChildFrame):
    def __close(self, event):
        # clear MDIchildFrame atttribute from parent.....and close
        module1.MainApp.MDIParentFrame.MDIChildFrame = None
 
        self.Destroy()
#------------------------------------------------------
# End class
#------------------------------------------------------
 
----- Original Message -----
From: "Martijn Pieters" <[EMAIL PROTECTED]>
To: "Math" <[EMAIL PROTECTED]>
Cc: "Python nl lijst" <python-nl@python.org>
Sent: Wednesday, February 01, 2006 10:40 PM
Subject: Re: [python-nl] Classes in andere modules

> Ten eerste twee administrativia:
>
> 1) doe een reply-all op antwoorden van de lijst, het is een discussie
> die daar thuis hoort en je profiteert van de collectieve kennis daar.
>
> 2) reset je datum op je computer, hij loopt 5 jaar achter. Daarmee maak
> je dat je emails niet wegvallen door datum sorteringen en spam filters
> (die aan zulke fouten hoge spam-scores hangen).
>
> Math wrote:
>> *Bedoel je nu dat ik het IF-statement weg moet laten en de
>> hoofdmodule (modMarathonManager) NIET moet importeren (of juist wel)
>> in de 2e module?* *Ik heb z'n beeje alles geprobeerd, blijft bij het
>> 'oude'...wanneer ik IF weglaat kan die een classdefinitie niet meer
>> vinden [EMAIL PROTECTED]
>
> Ik bedoel dat alle code onder het if-statement niet wordt uitgevoerd
> wanneer je marathon_manager importeert. Als het weglaten van het
> if-statement problemen oplevert dan heb je andere fouten op te lossen
> waarvoor we (de lijst) niet voldoende informatie hebben. Een niet
> gevonden klasse definitie wijst erop dat de code onder dat if-statement
> zoiezo niet kan werken en dat het if-statement er alleen voor zorgt dat
> het verder nooit zichtbaar wordt.
>
> Probeer eens te experimenteren met een interactieve python shell om je
> begrip van hoe python namespaces (zoals modules, functies, enz.) werken
> op te werken. Ook kun je een interactieve debugger gebruiken waarmee je
> kunt zien welke objecten en variabelen zijn gedefinieerd op een gegeven
> moment.
>
> Bij python zelf zit bijvoorbeeld de pdb, de python debugger, een vrij
> eenvoudige (en spartaanse) tekst-georienteerde debugger, waarvoor er zat
> tutorials zijn te vinden op het net (zoek op 'python interactive
> debugger'). Of je kunt een GUI debugger gebruiken, zoals die
> bijvoorbeeld bij pythonwin wordt geleverd, of een standalone debugger
> zoals winpdb (bijde gratis). Ikzelf gebruik de Wing IDE hiervoor.
>
> Martijn Pieters
_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan