dbf_usr Posted June 17, 2019 Share Posted June 17, 2019 Как определить создана ли форма? Приведенный ниже код не работает: procedure TMainForm.UniButton3Click(Sender: TObject); var Y: TUniMessenger; begin if not Assigned(Y) then TUniMessenger.Create(UniApplication).Show; if Y=nil then TUniMessenger.Create(UniApplication).Show; if Assigned(Y) then Showmessage(Y.Caption); end; а строка: if Assigned(Y) then Showmessage(Y.Caption); - вызывает ошибку Access violation, что свидетельствует о то что форма таки не создана, но почему не одно из двух условий не соблюдается. Link to comment Share on other sites More sharing options...
Sherzod Posted June 17, 2019 Share Posted June 17, 2019 Здравствуйте, А где (и что) присваиваете Y? Link to comment Share on other sites More sharing options...
dbf_usr Posted June 17, 2019 Author Share Posted June 17, 2019 38 minutes ago, Sherzod said: Здравствуйте, А где (и что) присваиваете Y? var Y: TUniMessenger; unit UnitMessenger; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, uniGUITypes, uniGUIAbstractClasses, uniGUIClasses, uniGUIForm, uniMemo, uniSplitter, uniGUIBaseClasses, uniPanel; type TUniMessenger = class(TUniForm) UniPanel1: TUniPanel; UniSplitter1: TUniSplitter; UniPanel2: TUniPanel; UniMemo1: TUniMemo; ... Link to comment Share on other sites More sharing options...
Tokay Posted June 19, 2019 Share Posted June 19, 2019 Quote if not Assigned(Y) неинициализированная локальная переменная. более того - скорее всего среда написала хинт по этому поводу. в коде должно быть 0 хинтов и варнингов, количество вопросов и проблем сильно уменьшится. Link to comment Share on other sites More sharing options...
stas Posted June 19, 2019 Share Posted June 19, 2019 5 hours ago, Tokay said: неинициализированная локальная переменная. более того - скорее всего среда написала хинт по этому поводу. в коде должно быть 0 хинтов и варнингов, количество вопросов и проблем сильно уменьшится. Ага , это мы умеем {$Warnings Off} {$Hints Off} Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now