Никогда раньше не программировал графические приложения. В качестве тулкила взял 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 выход работает по нажатию кнопки, но мне нужно, чтобы все завершалось без нажатия.