Page 1 of 1

Невидимка

Posted: Mon Aug 18, 2008 11:40 am
by SmileGobo
Творица какая-то чертовщина! Она даже запускается, но его не видно. Программа висит в процессах, но визуально ее нету.

Posted: Mon Aug 18, 2008 12:31 pm
by tan

Code: Select all

...
Frame::Frame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
//     : wxFrame((wxFrame *) NULL, -1, title, pos, size)
...
Дык а че конструктор базового класса закомментирован???
Просто раскоментируй эту строку и все будет ОК :)

EDIT: ну уж и заодно можно было бы реальные параметры ему передать:

Code: Select all

...
Frame::Frame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
     : wxFrame(parent, id, title, pos, size)
...

Posted: Mon Aug 18, 2008 12:40 pm
by SmileGobo
:oops: :oops: :oops: :oops:
эх я чайник! =(

Posted: Tue Aug 19, 2008 8:15 am
by SmileGobo
вот дописал можно и попользоваться :D, только один косяк есть при закрытии программы ошибка памяти выскакивает.

Posted: Tue Aug 19, 2008 9:05 am
by tan
SmileGobo wrote:вот дописал можно и попользоваться :D, только один косяк есть при закрытии программы ошибка памяти выскакивает.
Ну с этим понятно :) нефиг один и тот же сайзер дважды добавлять:

Code: Select all

	...
	bSizer1->Add( bSizer6, 1, wxEXPAND, 5 );
	
	//about = new wxButton( this, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, 0 );
	//bSizer6->Add( about, 0, wxALL, 5 );

	bSizer1->Add( bSizer6, 1, wxEXPAND, 5 ); // tan: это здесь лишнее
        ...
И один вопрос, откуда ты взял wxGetElapsedTime()?

Posted: Tue Aug 19, 2008 10:52 am
by SmileGobo
За подсказку большое спасибо.
Это к вопросу о том как писать интерфейс граблями типо wxFormBuilder, а потом дорабатывать все напильником с кривыми руками.
Что касается:
И один вопрос, откуда ты взял wxGetElapsedTime()?
http://docs.wxwidgets.org/2.8.6/wx_timefunctions.html
Или я вопрос не верно понял?

Posted: Tue Aug 19, 2008 11:11 am
by tan
SmileGobo wrote:За подсказку большое спасибо.
Это к вопросу о том как писать интерфейс граблями типо wxFormBuilder, а потом дорабатывать все напильником с кривыми руками.
Что касается:
И один вопрос, откуда ты взял wxGetElapsedTime()?
http://docs.wxwidgets.org/2.8.6/wx_timefunctions.html
Или я вопрос не верно понял?
Все верно :) Я понял, просто эта функция объявлена как wxDEPRECATED, и в версиях старше 2.6 присутствует только если установлено WXWIN_COMPATIBILITY_2_6. А я это обычно не устанавливаю, что бы сразу потенциальные проблемы при обновлениях вылезали.

Posted: Tue Aug 19, 2008 7:11 pm
by SmileGobo
А можно по понятнее, а то я валенок, но чую что это важно ;)
ЗЫ чото сильно флудим. :D администрация ругацо не будет?

Posted: Tue Aug 19, 2008 7:37 pm
by tan
SmileGobo wrote:А можно по понятнее, а то я валенок, но чую что это важно ;)
Это в смысле про wxGetElapsedTime()?
Ну на самом деле не так уж и важно :) wxDEPRECATED означает, что эта функция устарела, и в дальнейших версиях будет удалена совсем. Вот выдержка из stopwatch.h

Code: Select all


#if wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6

    // Starts a global timer
    // -- DEPRECATED: use wxStopWatch instead
    wxDEPRECATED( void WXDLLIMPEXP_BASE wxStartTimer() );

    // Gets elapsed milliseconds since last wxStartTimer or wxGetElapsedTime
    // -- DEPRECATED: use wxStopWatch instead
    wxDEPRECATED( long WXDLLIMPEXP_BASE wxGetElapsedTime(bool resetTimer = true) );

#endif // wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6

Т.е., если не определено WXWIN_COMPATIBILITY_2_6, этих функций для версий новее 2.6 вообще видно не будет.
SmileGobo wrote: ЗЫ чото сильно флудим. :D администрация ругацо не будет?
Да нет проблем, я, кстати, тоже в некотором роде администрация :D