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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.02.2009, 11:18
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка Проблемы с TObject

Написал унит который вобрал в себя только функции по работе с потоками, через Дэлфи проект с данным унитом компилится нормально, пытаюсь вручную скомпилить (DCC32.EXE+rlink32.dll), не получается, пишет: Undeclared Identifier Tobject и System Unit Out Of Date or corrupted: missing Tobject. Как решить эту проблему???

Листинг Compile.bat:
@DCC32 -Q system.pas sysinit.pas -M -Y -Z -$D- -O
@DCC32 Project2.dpr
@DEL SYSTEM.DCU
@DEL SYSINIT.DCU
pause

Листинг SMALL_CLASSES.pas
Код:
unit SMALL_CLASSES;

{$R-,T-,X+,H+,B-}

interface

const
  MemoryDelta      = $2000;
  //
  soFromBeginning  = 0;
  soFromCurrent    = 1;
  soFromEnd        = 2;
  //
  fmCreate         = $FFFF;
  //
  fmOpenRead       = $0000;
  fmOpenWrite      = $0001;
  fmOpenReadWrite  = $0002;
  //
  fmShareCompat    = $0000 platform; // DOS compatibility mode is not portable
  fmShareExclusive = $0010;
  fmShareDenyWrite = $0020;
  fmShareDenyRead  = $0030 platform; // write-only not supported on all platforms
  fmShareDenyNone  = $0040;
  //
  PM_REMOVE        = 1;

type

  Int64Rec = packed record
    case Integer of
      0: (Lo, Hi: Cardinal);
      1: (Cardinals: array [0..1] of Cardinal);
      2: (Words: array [0..3] of Word);
      3: (Bytes: array [0..7] of Byte);
  end;

  HWND = type LongWord;
  WPARAM = Longint;
  LPARAM = Longint;
  UINT = LongWord;
  DWORD = LongWord;
  BOOL = LongBool;
  TPoint = packed record
    X: Longint;
    Y: Longint;
  end;

  tagMSG = packed record
    hwnd: HWND;
    message: UINT;
    wParam: WPARAM;
    lParam: LPARAM;
    time: DWORD;
    pt: TPoint;
  end;
  TMsg = tagMSG;

  POverlapped = ^TOverlapped;
  _OVERLAPPED = record
    Internal: DWORD;
    InternalHigh: DWORD;
    Offset: DWORD;
    OffsetHigh: DWORD;
    hEvent: Cardinal;
  end;
  TOverlapped = _OVERLAPPED;

  PSecurityAttributes = ^TSecurityAttributes;
  _SECURITY_ATTRIBUTES = record
    nLength: DWORD;
    lpSecurityDescriptor: Pointer;
    bInheritHandle: BOOL;
  end;
  TSecurityAttributes = _SECURITY_ATTRIBUTES;

  TSeekOrigin = (soBeginning, soCurrent, soEnd);

  TStream = class(TObject)
  private
    function GetPosition: Int64;
    procedure SetPosition(const Pos: Int64);
    procedure SetSize64(const NewSize: Int64);

....................................................................
Ответить с цитированием
  #2  
Старый 05.02.2009, 11:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ошибки в команде dcc32:
1. Файл надо указывать тот, который компиляешь. Зачем у тебя указаны system и sysinit, ecли твой модуль называется SMALL_CLASSES.
2. Зачем указываешь -O, если не указываешь папку.
3. Не знаю, что за директива -Y.

и вообще, нафига в свой юнит тащить кучу кода из стандартной библиотеки, как то константы, потоки и т.д. Если очень хочется - отнаследуйся и вперед.
Ответить с цитированием
  #3  
Старый 05.02.2009, 12:30
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

1. SMALL_CLASSES точно забыл включить
2. system и sysinit присутствуют не просто так, это модули для уменьшения размера конечного файла (минимально возможная их реализация)
3. -O включил, но уже давно, забыл уже зачем, и вообще его включение никак не сказывается на компиляции
4. -Y тоже влом смотреть что такое, но без него не компилится вовсе, где то на форуме каком то подглядел
5. Отнаследоваться - значит просто включить модуль Windows в проект (USES) ??? Если да то так тоже не компилится, я пробовал.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter