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
> > 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