Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чем ошибка? 
:(
    Опции темы
KAI
Дата 10.2.2004, 23:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот код:

Код

// SysInfo
 if Registry.ReadInteger('ShowSysInfo') = 1 then begin
 MenuSysInfo.Checked:=True;
 SysInfo:=TSysInfo.Create(nil);
 SysInfo.Show;
 end
 else
 begin
 MenuSysInfo.Checked:=False;
 end;

Выдает ошибку (PopUp Error)

Хотя код:
Код
if Registry.ReadInteger('ShowSplashScreen') = 1 then begin
SplashForm:=TSplashForm.Create(nil);
SplashForm.Show;
t:=GetTickCount;
while (GetTickCount-t)<2000 do begin
sleep(0);
Application.ProcessMessages;
if not SplashForm.Visible then break;
end;
SplashForm.Free;
end;


Работает. Не понимаю в чем тут раздница...?
  Вверх
p0s0l
Дата 11.2.2004, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Что такое SysInfo ?


--------------------
С уважением, г-н Посол.
PM   Вверх
Unregistered
Дата 11.2.2004, 08:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











SysInfo - Имя формы.
  Вверх
December
Дата 11.2.2004, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



На какой строке выдаёт ошибку?


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
maxkazar
Дата 11.2.2004, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.1.2004
Где: Таганрог

Репутация: нет
Всего: нет



Попробуй закоментить строчки

Код
MenuSysInfo.Checked:=True;


и

Код
MenuSysInfo.Checked:=False;


Что произойдет?


PM MAIL ICQ   Вверх
KAI
Дата 11.2.2004, 20:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











maxkazar ничего не происходит. Все та же ошибка.

Выдаеться на строке SysInfo:=TSysInfo.Create(nil);
  Вверх
December
Дата 11.2.2004, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Application.CreateForm(TForm1, Form1);


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Unregistered
Дата 11.2.2004, 21:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











December

Видно вы не понимаете... Нужно открывать одно окно... SysInfo, при открытии главного окна. Это будет дополнительное окно. Как в Делфи компиляторе, там открываеться еще несколько окон.

Твой код открывает только окно SysInfo...
  Вверх
<Spawn>
Дата 11.2.2004, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



А SysInfo не имеет кода в OnCreate формы?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 11.2.2004, 21:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Имеет:
Код

procedure TSysInfo.FormCreate(Sender: TObject);
var
reg: TRegistry;
begin
// SysInfo Form position
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
 try
 reg.OpenKey('Software\test\Settings',true);
 SysInfo.Top:=reg.ReadInteger('SysInfoPositionTop');
 SysInfo.Left:=reg.ReadInteger('SysInfoPositionLeft');
 SysInfo.Width:=reg.ReadInteger('SysInfoWidth');
 SysInfo.Height:=reg.ReadInteger('SysInfoHeight');
 finally
 reg.CloseKey;
 reg.Free;
 end;

end;

  Вверх
<Spawn>
Дата 11.2.2004, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Не совсем правильный код - а если кто нить удалит ключ? И ты точно уверен, что эти ключи существуют? Проверяй reg.ValueExists и reg.KeyExists.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 11.2.2004, 23:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так ошибка то где?
  Вверх
Vit
Дата 12.2.2004, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



На onActivate события какие-нибудь есть?

SysInfo:=TSysInfo.Create(nil); - а где описана переменная SysInfo?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Unregistered
Дата 12.2.2004, 00:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











На "Активат" нет ничего.
Описана... В начале..?
Код

unit Unit5;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, Registry, StdCtrls;

type
 TSysInfo = class(TForm)
   procedure FormDestroy(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 SysInfo: TSysInfo;

implementation

{$R *.dfm}

  Вверх
<Spawn>
Дата 12.2.2004, 05:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



А что это - MenuSysInfo. Меню? Какое меню? Существует ли оно? Покажи всю инфу по нему.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 12.2.2004, 08:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Думаю меню тут нипричем. Коментируя строку меню - ничего не происходит.
  Вверх
Unregistered
Дата 12.2.2004, 13:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











KAI
На какое событие повешено появление SysInfo?



  Вверх
Pakshin A. S.
Дата 12.2.2004, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



А если сделать форму SysInfo дочерней, заихнуть её в создаваемые формы (Auto-Create Forms по-моему). И открывать ей по SysInfo.Visible:=true или SysInfo.Show,точно не помню!

А можно и SysInfo.Show обойтись.

Соответственно выкинуть Create(nil) формы и её Free.
PM   Вверх
Unregistered
Дата 12.2.2004, 20:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











На какое событие? Я давал код выше.
Странно, но даже простое SysInfo.Show выводит ту же ошибку sad.gif Блин, в чем же она заключаеться..?
  Вверх
Medved
Дата 13.2.2004, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Если хотите получить ответ на свой вопрос, покажите весь код. А то мы уже на протяжении двух страниц выпытываем его. А Вы постите по одной строчке, смотря на которую, нельзя ничего сказать конкретного .


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Unregistered
Дата 14.2.2004, 00:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я же дал код... При обработке события "if Registry.ReadInteger('ShowSysInfo') = 1" происходит ошибка. Коды, которые просили, дал. Код всех проги давать думаю глупо. Там несколько сотен строк.

Фому создаю способом, которым создаю другую форму (заставку, она работает). По каким причинам может возникнуть ошибка? Я бы дал скриншот ошибки, но как его дать...
  Вверх
<Spawn>
Дата 14.2.2004, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Как ты дал весь код? А до "if Registry.ReadInteger('ShowSysInfo') = 1" что написано? Может ты экземпляр класса TRegistry не создал, или не открыл нужный ключ или, читаемое тобой значение, имеет другой тип или его вообще не существует.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 14.2.2004, 16:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здесь спрашивали, на какой строке выдает ошибку - я ее дал. В коде, который давал, есть создание формы + (!) MenuSysInfo.Checked:=True; Коментируем строку создания формы SysInfo:=TSysInfo.Create(nil); и чек бокс будет работать. То есть ошибка именно в созданее формы. Все реестры работают.
  Вверх
p0s0l
Дата 14.2.2004, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Если не сложно, кинь мне исходник на мыло, я гляну...


--------------------
С уважением, г-н Посол.
PM   Вверх
dm9
Дата 15.2.2004, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Может, я и не прав, но попробуй перетащить всё из onCreate формы на onActivate:

procedure TSysInfo.FormCreate(Sender: TObject); ->
procedure TSysInfo.FormActivate(Sender: TObject);

"SysInfo.Top" - как это быдет работать, если форма ещё не создана? :-\ Или я ошибаюсь?
PM MAIL ICQ   Вверх
Unregistered
Дата 15.2.2004, 14:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











dm9
Блин, спасибо, попробую!
  Вверх
Akella
Дата 16.2.2004, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Почему пишешь SysInfo:=TSysInfo.Create(nil)?
Попробуй SysInfo:=TSysInfo.Create(self);
PM MAIL   Вверх
dm9
Дата 16.2.2004, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



dsergey, это не важно, главное не забывать освобождать после этого память...
PM MAIL ICQ   Вверх
Pathfinder
Дата 6.4.2004, 14:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











December, у меня проблема с переключением между формами в проге - ошибка Access Violation!!! Что белать? Заранее спасибо.

  Вверх
Maverick
Дата 6.4.2004, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



biggrin.gif Спустя два месяца.... Тут не только December, тут любой забудет.... Я после такого срока к своим прогам отношусь как к чужим....

1) Надо новую тему создать...
2) Подробнее, пожалуйста....



--------------------
smile
PM ICQ GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1108 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.