int a[10]; int size = (*(&a+1)-a) ;
для более подробной информации: https://aticleworld.com/how-to-find-sizeof-array-in-cc-without-using-sizeof/ https: //www.geeksforgeeks.org/how-to-find-size-of-array-in-cc-without-using-sizeof-operator/
Вызов вашей функции с удаленным EndModal работает нормально и возвращает меня в консоль после выбора да / нет. Выбор одного из них в основном вызывает EndModal, и вы вызываете это вручную, вызывая исключение
Traceback (most recent call last):
File "blah.py", line 19, in <module>
HasFile("C:\tbzrcommand_args.txt")
File "blah.py", line 12, in HasFile
dial.EndModal(retCode=0)
File "C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 715, in EndModal
return _windows_.Dialog_EndModal(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "IsModal()" failed at ..\..\src\msw\dialog.cpp(361) in wxDialog::EndModal(): EndModal() called for non modal dialog
fix:
import wx
from os import path
def HasFile(filename):
if path.isfile(filename ):
print 'gfd'
app = wx.App(redirect=False)
dial = wx.MessageDialog(None,
'Die Datei "'+filename+'" wurde gefunden.\nSoll sie eingelesen werden?',
'Bitte antworten',
wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
result = dial.ShowModal()
dial.Destroy()
app.MainLoop()
return result == wx.ID_YES
else:
return False