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, что свидетельствует о то что форма таки не создана, но почему не одно из двух условий не соблюдается. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 17, 2019 Share Posted June 17, 2019 Здравствуйте, А где (и что) присваиваете Y? Quote 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; ... Quote 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 хинтов и варнингов, количество вопросов и проблем сильно уменьшится. Quote 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} Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.