-
> как-то так
Тут непонятно:
1. Как и куда сохранять данные фрейма.
2. Как и когда их восстанавливать.
3. Куда помещать логику связей. То есть как запомнить на шаге 2 и показать на шаге 4.
4. Что делать с тем пунктом, что событий типаTWizardForm.Next()
разное кол-во на разных формах... -
> [79] KSergey © (06.03.08 17:13)
А если как ты предлагаешь сразу все создать, то надо будет очишать, сохранять и востанавливать состояния окон -
KSergey © (06.03.08 17:19) [82]> Kolan © (06.03.08 17:15) [80]
> Тут непонятно:
Мне вот любопытно: а у самого мысли есть по этим вопросам?
не ну правда. Сначала выкладыватся жутко навороченный код, а потом вдруг начинают задаваться элементарные вопросы.. Я вот никак не могу в голове своей это срастить... -
clickmaker © (06.03.08 17:20) [83]
> событий типа TWizardForm.Next() разное кол-во на разных
> формах
это как?
> есть как запомнить на шаге 2 и показать на шаге 4
опять двадцать пять. Список кто мешает сделать с данными? -
> не ну правда.
Есть ессно, только толку от них мало, я же хочу узнать как еще можно.
1. На счет сохранения я думаю, что это приличный геморой, бо формы разные, как их запоминать ..
2. Раз у тебя есть событие Next, значит будут и другие. Логика будет по ним распыляться. А еще часть её будет вGetNextFrameClass и GetPriorFrameClass
- тоже распыление.
Я прошу пример, не потому, что хочу скопировать его, вставить и все. Я хочу точно понять что предлагается, без кода понять невозможно.
Разница между "И анализировать этот State при действиях" и KSergey © (06.03.08 13:52) [67] огромна (для меня), хотя вроде одно и тоже. -
> опять двадцать пять. Список кто мешает сделать с данными?
А опять 25 из-за того, что я реально невижу где ты будешь сохранять данные в GetNextFrameClass что ли? -
clickmaker © (06.03.08 17:41) [86]
> где ты будешь сохранять данные в GetNextFrameClass что ли?
в SaveData у конкретного фрейма. Который знает, что ему нужно сохранить.
Для любителей примеров:
TWizardData = class
public
UserName: string;
Email: string;
Address1: string;
Address2: string;
Phone: string;
end;
var
WizardData: TWizardData; // глобальная
procedure TWizardFrame1.SaveData;
begin
WizardData.UserName := edName.Text;
WizardData.Email := edEmail.Text;
end;
procedure TWizardFrame2.SaveData;
begin
WizardData.Address1:=
...
end;
можно структуру разнести по нескольким, по числу страниц. Тогда будет глобальный список вместо переменной -
Понял. Много лишнего делать придется для каждого окна. Я же хочу его не закрывать пока оно еще может понадобится в том же виде.
ЗЫ
Вообще пошел я делать, всех благодарю. :) -
KSergey © (06.03.08 18:02) [88]> clickmaker © (06.03.08 17:41) [86]
> procedure TWizardFrame1.SaveData;
> procedure TWizardFrame2.SaveData;
Вот я тоже, к стати, думал, что так будет лучше и правильнее.
Но надеялся, что автор сам сможет подобный перенос сделать, потому писать не стал :)