|
|
#1
|
|||
|
|||
delphi ошибка
Добрый день!
Помогите пожалуйста, немогу исправить ошибку в программе. Вообщем у меня есть splashscreen, который запускаеться и после него грузяться все формы, на форме splashscreen в компонент TImage загружена анимация, которая работает с помощью компонента GifImage. Так вот ошибка выскакивает такая: Цитата:
Splashscreen у меня Form6, а строчка показываеться на Form2. Вот код: Код:
procedure TReadThread.UpdateForm; begin if (Form2.edt1.text = 'cls') then Form2.edt2.Text:=''; Form2.edt1.Text:=''; OemToAnsiBuff(buf, buf, dummy); Form2.edt2.Text:=Form2.edt2.Text+Copy(buf, 1, dummy); with Form2.edt2 do begin SelLength := 0; SelStart := Length(Text); Perform(EM_SCROLLCARET,0,0); end; end; показывает на ету строчку Код:
with Form2.edt2 do begin Код:
if (Form2.edt1.text = 'cls') then Form2.edt2.Text:=''; Form2.edt1.Text:=''; OemToAnsiBuff(buf, buf, dummy); Form2.edt2.Text:=Form2.edt2.Text+Copy(buf, 1, dummy); Вообщем я думаю ошибка связана с буфером обмена, но как решить так и недодумался( может вы поможете И кстати, если удалить анимацию, программа запускаеться без ошибок. Такая ошибка происходит, только если загрузить анимацию в SplashScreen. В других формах работает нормально. |
#2
|
||||
|
||||
Возможно нужно поменять приоритет при создании Form6 и Form2. Идёт обращение к Form2.edt2, а его ещё похоже нету
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
в том то и дело, что я не обращаюсь в Form2 до запуска Form1.
пробывал менять местами, тоже не помогло, незнаю что и делать уже |
#4
|
||||
|
||||
Откройте файл *.dpr на просмотр да и гляньте что и когда создется в CreateForm
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Код:
SplashScreen := TSplashScreen.Create(Application); SplashScreen.ClientHeight:=256; SplashScreen.ClientWidth:=520; SplashScreen.Height:=294; SplashScreen.Width:=536; SplashScreen.Show; SplashScreen.Update; Application.CreateForm(TForm1, Form1); SplashScreen.Update; Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); если же зделать вот так: Код:
Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); SplashScreen := TSplashScreen.Create(Application); SplashScreen.ClientHeight:=256; SplashScreen.ClientWidth:=520; SplashScreen.Height:=294; SplashScreen.Width:=536; SplashScreen.Show; SplashScreen.Update; Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); ошибка по прежнему высвечуеться( |
#6
|
||||
|
||||
Анимацию в GifImage грузите из ресурсов? Кажется у него параметр Active используется, если его установить в false, а включать в OnShow, не поможет?
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |