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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2015, 14:37   #1
Tihon
Пользователь
 
Регистрация: 18.12.2007
Сообщений: 40
По умолчанию TraCodeModule не позволяет строить проект

Добрый день, товарищи.
Довольно давно на работе я написал на Delphi 6 программу для своего банка, которая несколько лет исправно работала.
Сегодня я решил "отряхнуть плесень" и открыл проект. Среда Delphi 6 уже домашняя, хотя я постарался максимально приблизить ее к той, давешней, офисной.

Одна из использованных для проекта библиотек - Report Builder v.6.03...
При построении проекта получаю сообщение :
"Class TraCodeModule not found..." и т.д.

Смотрю в исходники Report Builder'а.
В ppClass.pas:
***
Код:
function TppCustomReport.GetCodeModule: TComponent;
var
  liIndex: Integer;
  lComponent: TComponent;
begin
  Result := nil;
  if (FModules = nil) then Exit;
  liIndex := 0;
  while (Result = nil) and (liIndex < FModules.Count) do
    begin
      lComponent := TComponent(FModules[liIndex]);
      if (lComponent.ClassName = 'TraCodeModule') then
        Result := TComponent(FModules[liIndex])
      else
        Inc(liIndex);
    end;
end; {function, GetCodeModule}
***
И в ppDesigner.pas:
***
Код:
procedure TppDesignerWindow.SaveReportState;
var
  lModuleClass: TClass;
  lSaveTo: TppSaveToType;
begin
  lModuleClass := GetClass('TraCodeModule');
  if (lModuleClass = nil) or (FReport.GetModuleForClass(lModuleClass) = nil) then Exit;
  if (FReport = nil) then Exit;
  Include(FDesignerState, dsSavingReportState);
  lSaveTo := FReport.Template.SaveTo;
  try
    FReportStateModified := FReport.Modified;
    FReportStateStream := TMemoryStream.Create;
    FReport.Template.SaveTo := stFile;
    FReport.Template.SaveToStream(FReportStateStream);
    FReport.Modified := False;
    FReportStateSaved := True;
  finally
    FReport.Template.SaveTo := lSaveTo;
    Exclude(FDesignerState, dsSavingReportState);
{    Application.ProcessMessages;}
  end;
***
Еще есть пара мест в демо-программах Report Bulder. Не имею представления, откуда этот модуль брать. Поиск по интернету не дал результата.
Я не понимаю, в чем причина ошибки - проект еще пять лет назад отлично компилировался и работал, и я в нем ничего не менял. Именно из-за Report Builder в этом проекте вместо 12-й версии пришлось поставить старую версию 6.03.

Буду очень благодарен за любой совет.

Последний раз редактировалось Stilet; 27.02.2015 в 19:29.
Tihon вне форума Ответить с цитированием
Старый 27.02.2015, 18:55   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

не трогай хорошо отлаженный механизм
ZuBy вне форума Ответить с цитированием
Старый 28.02.2015, 08:27   #3
Tihon
Пользователь
 
Регистрация: 18.12.2007
Сообщений: 40
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
не трогай хорошо отлаженный механизм
Братец, если тебе нечего сказать по существу - промолчи... И никто не узнает, что ты ... неадекватен.
Tihon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
NetBeans не позволяет создать проект _-Re@l-_ Софт 9 03.11.2011 20:03
Прога должна строить множества Idiot Помощь студентам 2 11.12.2010 22:45
Как строить график в режиме on-line? АндрейЗуев Помощь студентам 0 06.12.2010 20:01
нужно строить графики на моем сайте Maryb86 PHP 2 09.02.2009 05:39