@beduin01

Как закрыть графическое приложение (Tk)?

Никогда раньше не программировал графические приложения. В качестве тулкила взял TkD.
Проблема в том, что я не могу понять:
1. на сколько я правильно передаю данные между контролами и функциями
2. как выполнить выход из приложения после завершения всех функций:

class Application : TkdApplication                       // Extend TkdApplication.
{
	string fileToOpen;
	override protected void initInterface()              // Initialise user interface.
	{
		auto dialog = new OpenFileDialog("Open a file")
			.setMultiSelection(false)
			.setDefaultExtension("*")
			.addFileType("{{Text files} {.tif .tiff}}")
			.setInitialDirectory("~")
			.show();

		fileToOpen = dialog.getResult();
	}

	private void exitCommand()           // Create a callback.
	{
		this.exit();                                     // Exit the application.
	}
}

Application app;
void main(string [] args)
{
	app = new Application();                        // Create the application.
	app.run(); 
	app.exitCommand(); // пробовал делать вот так -- по идее выходить должно сразу, но не выходит

	TiffOpen(inputTiffname);
	openArchive(zipFullName);
}


void openArchive(string zipFullName)
{
	.....
    writeln("my1.docx - DONE");
    // пробовал  добавлять сюда: app.exit(); не помогло

}

void TiffOpen(string fileTiff)
{
 .....
}


Чтобы получить доступ к app глобально я не нашел ничего лучше чем объявить над main Application app; (тоже самое с string fileToOpen; над initInterface)
Это говнокод или так обычно и делается?

Подскажите как по завершению всех функций совершить выход из приложения? В примере code.dlang.org/packages/tkd выход работает по нажатию кнопки, но мне нужно, чтобы все завершалось без нажатия.
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы