Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.04.2008, 08:51
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию Ошибка при выполнении

Создаю собственную процедуру, в ней имеются строки:
Poisk_In_File:=TEdit('Edit'+IntToStr(Tek_Page)+Poi sk_True[2]).Text;
TEdit(FindComponent('Edit'+IntTostr(Tek)+IntToStr( z))).Text:=E_Stroka;
Прикомпиляции ошибок нет, но при запуске возникает ошибки ссылающиеся на эти строки.
Если внести эти строки, напрамер, в нутрь procedure TForm1.FormCreate(Sender: TObject); или procedure TForm1.Button1Click(Sender: TObject); то все нормально. Я так понял, что-то я не правильно определяю процедуру.... Подскажите плиз....
Ответить с цитированием
  #2  
Старый 01.04.2008, 11:30
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Если можешь, покажи всю процедуру.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 01.04.2008, 11:52
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

Код:
ROCEDURE FILLING_COMBOBOX_FILE(Tek_Page: integer);
Var
 Poisk_True, Poisk_In_File, S, Iskom_Str: string;
 F: TextFile;
BEGIN
  for i:=1 to PG[Tek_Page].ComboBox_Count do
     Begin
        Poisk_True:=PG[Tek_Page].Info_ComboBox[i].Poisk;
        If Poisk_True[1]='E' then
          Begin//If
            AssignFile(F, PG[Tek_Page].Info_ComboBox[i].TextFile);
            Reset(F);
            Readln(F, S);
            Poisk_In_File:='W510';
//            Poisk_In_File:=TEdit('Edit'+IntToStr(Tek_Page)+Poisk_True[2]).Text;
              Form1.Edit1.Text:=TEdit('Edit'+IntToStr(Tek_Page)+Poisk_True[2]).Text;
               if Pos(Poisk_In_File,S)<>0 then
                   Begin
                     for j:=Length('W510') to Length(S) do
                        begin
                          If s[j]<>' ' then Iskom_Str:=Iskom_Str+s[j]
                          Else
                            begin
                              If Length(Iskom_Str)>0 then Form1.Edit1.Text:=Form1.Edit1.Text+IntToStr(8)
                              Else Iskom_Str:='';
                            end;
                        end;
                   End;
             CloseFile(F);
           End;//If
      End;
  //TComboBox('ComboBox'+IntToStr(Tek)+).Text:='';
END;
Набросок
Ответить с цитированием
  #4  
Старый 01.04.2008, 12:05
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

А куда ты ее написал?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #5  
Старый 01.04.2008, 12:20
PashaXP PashaXP вне форума
Новичок
 
Регистрация: 05.02.2008
Сообщения: 81
Репутация: 15
По умолчанию

После
implementation

Если я правильно вопрос понял
Вызывается после нажатия кнопки
Ответить с цитированием
  #6  
Старый 01.04.2008, 12:36
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Не совсем понял
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #7  
Старый 01.04.2008, 12:55
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от PashaXP
Создаю собственную процедуру, в ней имеются строки:
Poisk_In_File:=TEdit('Edit'+IntToStr(Tek_Page)+Poi sk_True[2]).Text;
TEdit(FindComponent('Edit'+IntTostr(Tek)+IntToStr( z))).Text:=E_Stroka;
Прикомпиляции ошибок нет, но при запуске возникает ошибки ссылающиеся на эти строки.
Если внести эти строки, напрамер, в нутрь procedure TForm1.FormCreate(Sender: TObject); или procedure TForm1.Button1Click(Sender: TObject); то все нормально. Я так понял, что-то я не правильно определяю процедуру.... Подскажите плиз....
По поводу
Код:
 Poisk_In_File:=TEdit('Edit'+IntToStr(Tek_Page)+Poi  sk_True[2]).Text;
уменя даже не скомпилилась (Д7)
строкой нельзя манипулировать как Эдитом.
Код:
 TEdit(FindComponent('Edit'+IntTostr(Tek)+IntToStr(z))).Text:=E_Stroka;
в наброске не видел но если FindComponent возвращает TComponent или его наследников и действительно указывает на Эдит то должно быть нормально, если возвращает nil или другой компонент (например Лабел) то при исполнении будет ошибка. Используй is и as.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter