Сейчас на форуме: hgdagon, asfa (+4 невидимых)

 eXeL@B —› Программирование —› дельфа в ступор ввела - help
Посл.ответ Сообщение


Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 28 мая 2007 14:22
· Личное сообщение · #1

Приветствую всех учасников форума,
и прошу помощи.
Меня дельфа иногда убивает своей тупостью.
так случилось и в этот раз в коде который будет отображён
в следующем посте.

ошибка такая:
Error in module : Call to Application.CreateForm is missing or incorrect.

Но по орфографии я ни одной ошибки не вижу.
помогите пожалуйста, буду очень благодарен.




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 28 мая 2007 14:22
· Личное сообщение · #2

вот это зло-дурное место (как ни странно)

program SchoolLibrary;
uses
Forms,
Windows,SysUtils,Inifiles,
Wcrypt2 in 'Wcrypt2.pas',
Unit1 in 'Unit1.pas' {Form1},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit2 in 'Unit2.pas' {Form2},
Unit5 in 'Unit5.pas' {Form5},
Unit7 in 'Unit7.pas' {Form7},
Unit8 in 'Unit8.pas' {Form8},
Unit9 in 'Unit9.pas' {Form9},
Unit6 in 'Unit6.pas' {Form6},
Unit10 in 'Unit10.pas' {Form10},
Unit11 in 'Unit11.pas' {Form11},
Unit12 in 'Unit12.pas' {Form12},
Unit13 in 'Unit13.pas' {Form13},
Unit14 in 'Unit14.pas' {Form14},
Unit15 in 'Unit15.pas' {Form15},
Unit16 in 'Unit16.pas' {Form16},
Unit17 in 'Unit17.pas' {Form17},
Unit18 in 'Unit18.pas' {Form18},
Unit19 in 'Unit19.pas' {Form19},
Unit20 in 'Unit20.pas' {Form20},
Unit21 in 'Unit21.pas' {Form21},
Unit22 in 'Unit22.pas' {Form22},
Unit23 in 'Unit23.pas' {Form23},
Unit24 in 'Unit24.pas' {Form24},
Unit25 in 'Unit25.pas' {Form25},
Unit26 in 'Unit26.pas' {Form26},
Unit27 in 'Unit27.pas' {Form27},
Unit28 in 'Unit28.pas' {Form28},
Unit29 in 'Unit29.pas' {Form29},
Unit30 in 'Unit30.pas' {Form30},
Unit31 in 'Unit31.pas' {Form31},
Unit32 in 'Unit32.pas' {Form32},
Unit33 in 'Unit33.pas' {Form33},
Unit34 in 'Unit34.pas' {Form34},
Unit35 in 'Unit35.pas' {Form35},
Unit36 in 'Unit36.pas' {Form36},
Unit37 in 'Unit37.pas' {Form37};
{$R *.res}
var
HM:THandle;
function Check: boolean;
begin
HM:=OpenMutex(MUTEX_ALL_ACCESS, false, 'SchoolLib');
Result:=(HM <> 0);
if HM=0 then HM:=CreateMutex(nil, false, 'SchoolLib');
end;
procedure langproc;
begin
if FileExists(form1.langrecords[-1])then
begin
form13.LabeledEdit3.Text:=form1.langrecords[-1];
Application.Title:=form1.langrecords[0]
end
end;

procedure setlanguage;
begin
{
здесь надо расставить заголовки и т.д.
всем компанентам на форме, данные в массивах
langrecords (here are captions)
messrecords (here are messages)
}
end;
begin
if Check then Exit;
Application.Initialize;
Application.Title:='Школьная библиотека';
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm11, Form11);
Application.CreateForm(TForm12, Form12);
Application.CreateForm(TForm13, Form13);
Application.CreateForm(TForm14, Form14);
Application.CreateForm(TForm15, Form15);
Application.CreateForm(TForm16, Form16);
Application.CreateForm(TForm17, Form17);
Application.CreateForm(TForm18, Form18);
Application.CreateForm(TForm19, Form19);
Application.CreateForm(TForm20, Form20);
Application.CreateForm(TForm21, Form21);
Application.CreateForm(TForm22, Form22);
Application.CreateForm(TForm23, Form23);
Application.CreateForm(TForm24, Form24);
Application.CreateForm(TForm25, Form25);
Application.CreateForm(TForm26, Form26);
Application.CreateForm(TForm27, Form27);
Application.CreateForm(TForm28, Form28);
Application.CreateForm(TForm29, Form29);
Application.CreateForm(TForm30, Form30);
Application.CreateForm(TForm31, Form31);
Application.CreateForm(TForm32, Form32);
Application.CreateForm(TForm33, Form33);
Application.CreateForm(TForm34, Form34);
Application.CreateForm(TForm35, Form35);
Application.CreateForm(TForm36, Form36);
Application.CreateForm(TForm37, Form37);
langproc;
setlanguage;
Application.Run;
end.




Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 28 мая 2007 15:07 · Поправил: Icelot
· Личное сообщение · #3

Ну попробуй закоментировать кусочки кода. Так может и выяснишь что мешает компилятору определить application.createform.

Может это:
form13.LabeledEdit3.Text:=form1.langrecords[-1];

-----
radio uno in ibisa ...





Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 28 мая 2007 15:43
· Личное сообщение · #4

делфя на этаме загрузки проекта полностью парсит DPR и когдла находит Application.Title в langproc она начинает определять список форм а там у тебя уже идет END.
Перенеси langproc и setlanguage в другой юнит и будет тебе щастье.

P.S. Автосоздание 37 форм это жесть ) Я не думаю что пользователь их должен видеть все сразу - лучше создавать формы по мере их надобности.




Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 28 мая 2007 16:25
· Личное сообщение · #5

То что перенести ф-ии в другой юнит это полюбому, но обращаться к св-ам Application до его инициализации помоему можно (может только толку не будет ) а вот к св-ам формы до ее создания... хз.

-----
radio uno in ibisa ...




Ранг: 103.1 (ветеран), 3thx
Активность: 0.070.01
Статус: Участник

Создано: 28 мая 2007 20:37 · Поправил: Styx
· Личное сообщение · #6

Icelot
С Application до вызова метода Init работать можно, т.к. объект уже существует. К не созданным объектам, по законам объектно-ориентированного жанра, обращаться низя (: В начале создается экземпляр класса, а потом ты с ним работаешь, как например Strings:=TStringList.Create;

-----
Crack your mind, save the planet





Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 29 мая 2007 07:12
· Личное сообщение · #7

всем спасибо .
dermatolog, выручил, а то я уже не хнал что делать.
для меня вопрос исчерпан.




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 29 мая 2007 07:27
· Личное сообщение · #8

2 Icelot:
У топикстартера проблема не в рантайме, а в дизайн тайме - делфя просто не открывает такой проект и орет ошибку.




Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 29 мая 2007 07:36
· Личное сообщение · #9

dermatolog, Styx всё это ясно Просто наверное не точно выразился..

-----
radio uno in ibisa ...



 eXeL@B —› Программирование —› дельфа в ступор ввела - help
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати