Python Forum
[WxPython] Process finished with exit code -1073741819 (0xC0000005)
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[WxPython] Process finished with exit code -1073741819 (0xC0000005)
#1
Hi,

I have generated this code for front end gui and trying to load test data to see if the controls/columns are being populated. however, at the end of the run it produces "Process finished with exit code -1073741819 (0xC0000005)"

I am running

Pycharm - 2019.3.4
Python 3.6
WxPython - 4.0.4


# -*- coding: utf-8 -*-

###########################################################################
## Python code generated with wxFormBuilder (version Oct 26 2018)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################

import wx
import wx.xrc
import wx.dataview

SerialNumber = 1000



###########################################################################
## Class GTF
###########################################################################

class GTF ( wx.Frame ):

	def __init__( self, parent ):
		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Test Framework", pos = wx.DefaultPosition, size = wx.Size( 1086,776 ), style = wx.DEFAULT_FRAME_STYLE|wx.SYSTEM_MENU|wx.TAB_TRAVERSAL )

		self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
		self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) )

		self.TopMenuBar = wx.MenuBar( 0 )
		self.Menu = wx.Menu()
		self.OpenScriptFile = wx.MenuItem( self.Menu, wx.ID_ANY, u"Open Script File", wx.EmptyString, wx.ITEM_NORMAL )
		self.Menu.Append( self.OpenScriptFile )

		self.Settings = wx.MenuItem( self.Menu, wx.ID_ANY, u"Settings", wx.EmptyString, wx.ITEM_NORMAL )
		self.Menu.Append( self.Settings )

		self.TopMenuBar.Append( self.Menu, u"Menu" )

		self.SetMenuBar( self.TopMenuBar )

		MainPage = wx.BoxSizer( wx.VERTICAL )

		fgSizer1 = wx.FlexGridSizer( 1, 3, 0, 0 )
		fgSizer1.SetFlexibleDirection( wx.BOTH )
		fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )

		Colmn1 = wx.BoxSizer( wx.VERTICAL )

		self.Logo = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap( u"Logo.png", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, 0 )
		Colmn1.Add( self.Logo, 0, wx.ALL, 5 )

		self.ExecutionTime = wx.TextCtrl( self, wx.ID_ANY, u"04:17:49", wx.DefaultPosition, wx.Size( 200,-1 ), wx.TE_CENTER|wx.BORDER_NONE )
		self.ExecutionTime.SetFont( wx.Font( 26, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )
		self.ExecutionTime.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHT ) )
		self.ExecutionTime.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) )

		Colmn1.Add( self.ExecutionTime, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )


		fgSizer1.Add( Colmn1, 1, wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 5 )

		Colmn2 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Enter Info" ), wx.HORIZONTAL )

		wSizer1 = wx.WrapSizer( wx.HORIZONTAL, 0 )

		self.StationID = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" Station ID", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.StationID.Wrap( -1 )

		self.StationID.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer1.Add( self.StationID, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.StationID = wx.TextCtrl( Colmn2.GetStaticBox(), SerialNumber, wx.EmptyString, wx.Point( -1,-1 ), wx.Size( 200,-1 ), wx.TE_LEFT|wx.ALWAYS_SHOW_SB, wx.DefaultValidator, u"Serial Number" )
		self.StationID.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer1.Add( self.StationID, 0, wx.ALL, 2 )

		self.Operator = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" Operator", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.Operator.Wrap( -1 )

		self.Operator.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer1.Add( self.Operator, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		OperatorChoices = []
		self.Operator = wx.ComboBox( Colmn2.GetStaticBox(), wx.ID_ANY, u"Select", wx.DefaultPosition, wx.Size( 200,-1 ), OperatorChoices, wx.CB_DROPDOWN )
		self.Operator.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer1.Add( self.Operator, 0, wx.ALL, 2 )


		Colmn2.Add( wSizer1, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 )

		wSizer2 = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS )

		self.UUTSN = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT SN", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.UUTSN.Wrap( -1 )

		self.UUTSN.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer2.Add( self.UUTSN, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.UUTSN = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.Point( -1,-1 ), wx.Size( 200,-1 ), wx.TE_LEFT )
		self.UUTSN.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer2.Add( self.UUTSN, 0, wx.ALL, 2 )

		self.UUTPN = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT PN", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.UUTPN.Wrap( -1 )

		self.UUTPN.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer2.Add( self.UUTPN, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.UUTPN = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0, wx.DefaultValidator, u"Part Number" )
		self.UUTPN.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer2.Add( self.UUTPN, 0, wx.ALL, 2 )


		Colmn2.Add( wSizer2, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 )

		wSizer3 = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS )

		self.UUTHWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT HW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.UUTHWRev.Wrap( -1 )

		self.UUTHWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTHWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.UUTHWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
		self.UUTHWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTHWRev, 0, wx.ALL, 2 )

		self.UUTSWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT SW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.UUTSWRev.Wrap( -1 )

		self.UUTSWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTSWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.UUTSWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
		self.UUTSWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTSWRev, 0, wx.ALL, 2 )

		self.UUTFWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT FW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT )
		self.UUTFWRev.Wrap( -1 )

		self.UUTFWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTFWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 )

		self.UUTFWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
		self.UUTFWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) )

		wSizer3.Add( self.UUTFWRev, 0, wx.ALL, 2 )


		Colmn2.Add( wSizer3, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 )


		fgSizer1.Add( Colmn2, 1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_TOP|wx.EXPAND, 0 )

		Colmn3 = wx.BoxSizer( wx.VERTICAL )

		self.Abort = wx.Button( self, wx.ID_ANY, u"ABORT", wx.DefaultPosition, wx.Size( 150,60 ), 0 )
		self.Abort.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
		self.Abort.SetBackgroundColour( wx.Colour( 255, 128, 128 ) )

		Colmn3.Add( self.Abort, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )

		self.Start = wx.Button( self, wx.ID_ANY, u"START", wx.DefaultPosition, wx.Size( 150,60 ), 0 )
		self.Start.SetBackgroundColour( wx.Colour( 128, 255, 128 ) )

		Colmn3.Add( self.Start, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )


		fgSizer1.Add( Colmn3, 1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 5 )


		MainPage.Add( fgSizer1, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_TOP|wx.EXPAND, 5 )

		TestExec = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Test Execution" ), wx.VERTICAL )

		self.TestExec = wx.dataview.DataViewListCtrl( TestExec.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,500 ), wx.dataview.DV_HORIZ_RULES|wx.dataview.DV_MULTIPLE|wx.dataview.DV_ROW_LINES )
		self.Step = self.TestExec.AppendTextColumn( u"STEP", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 )
		self.Test = self.TestExec.AppendTextColumn( u"TEST", wx.dataview.DATAVIEW_CELL_EDITABLE, 505, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 )
		self.LowerLimit = self.TestExec.AppendTextColumn( u"LOWER LIMIT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 )
		self.UpperLimit = self.TestExec.AppendTextColumn( u"UPPER LIMIT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 )
		self.Measurement = self.TestExec.AppendTextColumn( u"MEASUREMENT", wx.dataview.DATAVIEW_CELL_EDITABLE, 100, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 )
		self.Units = self.TestExec.AppendTextColumn( u"UNITS", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 )
		self.Result = self.TestExec.AppendTextColumn( u"RESULT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 )
		TestExec.Add( self.TestExec, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 0 )


		MainPage.Add( TestExec, 1, wx.ALIGN_TOP|wx.EXPAND, 0 )


		self.SetSizer( MainPage )
		self.Layout()
		self.BottomStatusBar = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY )

		###########################################################################
		## DUMMY DATA  -- DELETE ONCE DONE
		###########################################################################

		Data = [
			[u"1", u"Test1", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"2", u"Test2", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"3", u"Test3", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"4", u"Test4", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"5", u"Test5", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"6", u"Test6", u"-10", u"10", u"3", u"dB", u"PASS"],
			[u"7", u"Test7", u"-10", u"10", u"3", u"dB", u"PASS"]
				]

		###########################################################################
		## load data in GUI
		###########################################################################
		for row in range(len(Data)):
			for col in range(len(Data[row])):
				self.TestExec.SetTextValue(Data[row][col], row, col)


		self.Centre( wx.BOTH )

	def __del__( self ):
		pass


###########################################################################
## Class Settings
###########################################################################

class Settings ( wx.Frame ):

	def __init__( self, parent ):
		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Settings", pos = wx.DefaultPosition, size = wx.Size( 985,667 ), style = wx.SYSTEM_MENU|wx.TAB_TRAVERSAL )

		self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )

		bSizer4 = wx.BoxSizer( wx.HORIZONTAL )

		fgSizer2 = wx.FlexGridSizer( 0, 2, 0, 0 )
		fgSizer2.SetFlexibleDirection( wx.BOTH )
		fgSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )

		self.m_listbook2 = wx.Listbook( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,400 ), wx.LB_LEFT|wx.LB_TOP )
		self.m_scrolledWindow1 = wx.ScrolledWindow( self.m_listbook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL )
		self.m_scrolledWindow1.SetScrollRate( 5, 5 )
		self.m_listbook2.AddPage( self.m_scrolledWindow1, u"a page", False )

		fgSizer2.Add( self.m_listbook2, 1, wx.EXPAND |wx.ALL, 5 )

		self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 900,600 ), wx.TAB_TRAVERSAL )
		fgSizer2.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 5 )

		self.m_scrolledWindow2 = wx.ScrolledWindow( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL )
		self.m_scrolledWindow2.SetScrollRate( 5, 5 )
		fgSizer2.Add( self.m_scrolledWindow2, 1, wx.EXPAND |wx.ALL, 5 )


		bSizer4.Add( fgSizer2, 1, wx.EXPAND, 5 )


		self.SetSizer( bSizer4 )
		self.Layout()

		self.Centre( wx.BOTH )

	def __del__( self ):
		pass





#Required to run GUI code
if __name__ == "__main__":
	app = wx.App()
	dlg = GTF(None)
	dlg.Show()
	app.MainLoop()
Reply
#2
C0000005 is an access violation. That is tough to do in python.

I don't have any experience with DataViewListCtrl, but I think you are expected to build up the table using AppendItem. When you start loading data the table only has columns, no rows. Maybe the access violation is caused by trying to "SetTextValue" into one of those missing rows?
Reply
#3
Hi deanhystad,

following code modification worked. Thank you :)

###########################################################################
		## load data in GUI
		###########################################################################
		for row in range(len(Data)):
			self.TestExec.AppendItem(Data[row], row)
Reply
#4
replace
        for row in range(len(Data)):
            self.TestExec.AppendItem(Data[row], row)
with
        for row in Data:
            self.TestExec.AppendItem(row)
Reply
#5
Thats much better version Thanks Yoriz. :)
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Tkinter Exit Code based on Entry Widget Nu2Python 6 2,879 Oct-21-2021, 03:01 PM
Last Post: Nu2Python
  [WxPython] Process finished with exit code gehrenfeld 3 4,750 Jan-10-2019, 11:21 PM
Last Post: gehrenfeld
  Trying to use code from WxPython GUI Toolkit Barrowman 3 4,103 Jun-26-2018, 05:43 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020