C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
использование функции, находящейся в другом *.ccp файле
Evil_Smile
Отправлено: 21.07.2006, 19:53


Дежурный стрелочник

Группа: Участник
Сообщений: 57



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

CODE

__fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
{
// те здесь происходит обращение к функции
}


компилятор грит что вся норамльно и при сборке
этих файлов отдельно и в проекте.

но при запуске начинаются маты

зараее благодарен

User Attached Image Скачать файл
Header_Cpp.zip


Grigoriy
Отправлено: 21.07.2006, 20:01


Мастер участка

Группа: Участник
Сообщений: 381



Memo1 создан ?

Вызывай свои функции в обработчике

FormCreate(TObject* Sender);

создания формы.

Ошибка в том, что
в конструкторе формы вызываются свойства компонентов, которые ещё не созданы. Например
CODE

switch (p)
               {
               case 0:
               Memo1->Color = StringToColor(RegWrite);
               break;
               case 1:
               Memo1->Font->Name = RegWrite;
               break;
               case 2:
               Memo1->Font->Size = StrToInt(RegWrite);
               break;
               case 3:
               Memo1->Font->Color = StringToColor(RegWrite);
               break;



Memo1 создан ?

Отредактировано Grigoriy — 21/07/2006, 20:06
Evil_Smile
Отправлено: 22.07.2006, 09:24


Дежурный стрелочник

Группа: Участник
Сообщений: 57



а теперь он говорит

Access violation at address 00in module 'мой проект'. Read of address 0000071


проект запускается но значения не присваеваются те

CODE

switch (p)
               {
               case 0:
               Memo1->Color = StringToColor(RegWrite);
               break;
               case 1:
               Memo1->Font->Name = RegWrite;
               break;
               case 2:
               Memo1->Font->Size = StrToInt(RegWrite);
               break;
               case 3:
               Memo1->Font->Color = StringToColor(RegWrite);
               break;


не происходит

то же самое если закидывать в
FormShow или FormPaint или FormActivate
а если в OnClick то присваивание
вообще для всех компонентов форы

Отредактировано Evil_Smile — 22/07/2006, 09:25

Вернуться в Вопросы программирования в C++Builder