Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 21:20   #31
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Твой код:

Цитата:
Name := 'Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + TekstKol[List[8].IndexOf(ImSender)];
Но:
Цитата:
TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_EKD))).Caption :=
'Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(c_EKD);
Name <> Caption
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 09.02.2011, 21:31   #32
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

знаете, бывают такие момонты когда сам себя ненавидиш,
100 раз читая ето, я думал что меняю имя, и в обсуждениях тоже говорил не раз что меняю имя
орооооомнеишее спасибо вам ++++++

P.S. зато выучил много нового)
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 09.02.2011, 21:33   #33
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

чет не выходит поставить вам +, говорит что типа я ставил, поже еше раз попробую
спасибо еше раз
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 14.02.2011, 12:53   #34
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

знаю что поднадоел с етои темои,
но если позволите, в продолжение
перед закрытием, перебираю все Label'ы и их текст прорисовываю на картинке
но почему то у меня опять удаленыи Label мешаеца
если делать проверку на nil, ошибки не будет, но тогда последнии Label не прорисовываеца,
так как до него очередь не доходит

Код:
procedure TForm2.sButton1Click(Sender: TObject);
var
  i_sBC: integer;
begin
  Image2.Visible := False;
  Repaint;
  if StrToInt(TekstKol[List[8].IndexOf(ImSender)]) > 0 then
  begin
    TBitmap(List[1][List[8].IndexOf(ImSender)]).Canvas.StretchDraw(
          Bounds(0,0,TBitmap(List[1][List[8].IndexOf(ImSender)]).Width,TBitmap(List[1][List[8].IndexOf(ImSender)]).Height), TImage(ImSender).Picture.Graphic);
    for i_sBC := 1 to  StrToInt(TekstKol[List[8].IndexOf(ImSender)]) do
    begin
      with TBitmap(List[1][List[8].IndexOf(ImSender)]) do
      begin
        //if FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC)) <> nil then
        //begin
          Canvas.Brush.Style := bsClear;
          Canvas.Font.Color :=
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Font.Color
          ;
          Canvas.Font.Style :=
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Font.Style
          ;
          Canvas.Font.Size := (Height div Form2.Image1.Height) *
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Font.Size
          ;
          Canvas.TextOut(
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Left *
            (Width div Image1.Width),
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Top *
            (Height div Image1.Height),
            TLabel(FindComponent('Tekst_' + IntToStr(List[8].IndexOf(ImSender)) + '_' + IntToStr(i_sBC))).Caption
          );
        //end;
      end;
    end;
  end;
  Close;
end;
Изображения
Тип файла: jpg Stack.jpg (154.6 Кб, 174 просмотров)
Тип файла: jpg Voilation.JPG (9.4 Кб, 80 просмотров)
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 14.02.2011, 13:28   #35
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Установи MadExcept и смотри стёк в момен исключения(ME это покажет).
Быстро наёдёшь причину ошибки.
Человек_Борща вне форума Ответить с цитированием
Старый 14.02.2011, 13:44   #36
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

вот новыи отчет
Вложения
Тип файла: txt bugreport.txt (16.3 Кб, 140 просмотров)
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 14.02.2011, 13:55   #37
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

смотри 155 строку в юните Unit2

ошибка после вызова FindComponent(судя по дизасму):
Знак > это строка с исключением
Код:
disassembling:
[...]
00581ed8       mov     edx, 4
00581edd       call    -$17ce16 ($4050cc)     ; System.@LStrCatN
00581ee2       mov     edx, [ebp-$20]
00581ee5       mov     eax, ebx
00581ee7       call    -$110d88 ($471164)     ; Classes.TComponent.FindComponent
00581eec     > mov     eax, [eax+$68]
00581eef       mov     eax, [eax+$18]
00581ef2       push    eax
00581ef3       mov     eax, esi
00581ef5       call    -$1066ce ($47b82c)     ; Graphics.TBitmap.GetCanvas
00581efa       mov     eax, [eax+$c]
[...]
Человек_Борща вне форума Ответить с цитированием
Старый 16.02.2011, 21:17   #38
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Знак > это строка с исключением
а что ето значит?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 21.02.2011, 02:39   #39
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Значит что это место исключения которое повергло программу в даун.
Человек_Борща вне форума Ответить с цитированием
Старый 12.03.2011, 21:42   #40
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

из 'Блог GunSmoker-а'
Цитата:
на вкладке Call Stack вы можете видеть состояние регистров, (части) стека и (части) памяти в момент исключения. В данном случае мы смотрим на ассемблерный листинг и видим, что в проблемной команде участвуют регистры eax и edx. По вкладке CPU мы находим, что eax равен 0, что означает, что мы пытаемся присвоить значение по указателю, равному nil. Взглянув на строчку исходника, которую мы узнали из стека вызовов, мы узнаем имя переменной. Вот вам и причина: переменная оказалась равна nil.
http://www.gunsmoker.ru/2009/05/access-violation.html

в теме много скринов с ошибками, может ктонибудь мне на примере
из какого нибудь скрина или последнего вложения пояснить выше сказаное
VirusN13
ArtGrek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 fondreykus-1 Общие вопросы Delphi 5 27.01.2010 14:25
Access violation at address 00456215 in module Autorun.exe. alexandrov28 Свободное общение 4 30.09.2009 21:41
Access violation at address... Ralf_ru Помощь студентам 13 05.04.2009 05:20
Access violation at address.. RegentM Общие вопросы Delphi 4 01.11.2007 03:46
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Fen1x Общие вопросы Delphi 8 13.10.2007 20:13