Текущий архив: 2007.06.10;
Скачать: CL | DM;
ВнизTKOLOpenDirDialog Найти похожие ветки
← →
Blackie (2006-10-21 21:06) [0]Беру, ставлю на форму компонент OpenDirDialog. Запускаю проект. Ошибка "Undeclared identifier: TKOLOpenDirDialog". Если же его ставить с самого начала вместе с KOLProject, возникают другие ошибки, такие как "Unit mckObjs was compiled with a different version of KOL.NewImageList". Переустанавливать KOL?
← →
Vladimir Kladov (2006-10-21 21:18) [1]что такое переустановить KOL?
Build проекту надо делать. У вас остался dcu от другого проекта или пакета, в котором вместо TOpenDirDialog использовался TOpenDirDialogEx. Delphi считает, что файл исходного кода не менялся (а он и не менялся), а то, что символы условной компиляции другие, он не замечает.
← →
Blackie (2006-10-22 22:44) [2]Build именно поэтому и не удается сделать. Под "переустановкой KOL" я имею в виду замену dcu-файлов. Только какие надо менять, непонятно.
← →
D[u]fa © (2006-10-22 23:25) [3]
> Build именно поэтому и не удается сделать.
нихэ не понятно %) неможешь нажать в меню проекта Build All?
← →
Vladimir Kladov (2006-10-23 16:01) [4]я догадался: после бросания компонента на форму Delphi вперед попытался сообразить, и всунул mck-часть компонента после скобок {$IFNDEF KOL_MCK} в uses. Решение: перезасунуть его руками внутрь скобок.
← →
Blackie (2006-10-23 21:50) [5]
> нихэ не понятно %) неможешь нажать в меню проекта Build
> All?
если нажать build, возникнут все те же 2 ошибки: "Undeclared identifier: TKOLOpenDirDialog" в самом проекте и "Missing operator or semicolon" в соотв. inc-файле.
Привожу код.{ KOL MCK } // Do not remove this line!
{$DEFINE KOL_MCK}
unit ArchiverUnit;
interface
{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics {$ENDIF (place your units here->)};
{$ELSE}
{$I uses.inc}
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
{$ENDIF}
type
{$IFDEF KOL_MCK}
{$I MCKfakeClasses.inc}
{$IFDEF KOLCLASSES} TForm1 = class; PForm1 = TForm1; {$ELSE OBJECTS} PForm1 = ^TForm1; {$ENDIF CLASSES/OBJECTS}
{$IFDEF KOLCLASSES}{$I TForm1.inc}{$ELSE} TForm1 = object(TObj) {$ENDIF}
Form: PControl;
{$ELSE not_KOL_MCK}
TForm1 = class(TForm)
{$ENDIF KOL_MCK}
KOLProject1: TKOLProject;
KOLForm1: TKOLForm;
OpenDirDialog1: TKOLOpenDirDialog;
OpenSaveDialog1: TKOLOpenSaveDialog;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1 {$IFDEF KOL_MCK} : PForm1 {$ELSE} : TForm1 {$ENDIF} ;
{$IFDEF KOL_MCK}
procedure NewForm1( var Result: PForm1; AParent: PControl );
{$ENDIF}
implementation
{$IFNDEF KOL_MCK} {$R *.DFM} {$ENDIF}
{$IFDEF KOL_MCK}
{$I ArchiverUnit_1.inc}
{$ENDIF}
end.
А если OpenDirDialog1: TKOLOpenDirDialog и OpenSaveDialog1: TKOLOpenSaveDialog разместить повыше {$ENDIF KOL_MCK}, то вообще Access violation.
← →
Vladimir Kladov (2006-10-24 15:36) [6]я вообще-то имел в виду uses. Но он чистый. Вы еще не догадались? Модуль фообще не подключен. KOLadd называется.
← →
Blackie (2006-10-24 19:13) [7]Но KOLadd не хочет подключаться (в uses). "Unit KOLadd was compiled with a different version of KOL.PMenu".
И еще не понятно, почему в данном случае на одном компе один и тот же листинг работает, а на втором нет. И на том, на котором работает, почему-то не надо KOLadd.
← →
Blackie (2006-10-24 20:23) [8]Ну вот сейчас вроде подключил koladd, спасибо.
а все-таки почему в одном случае надо подключать этот модуль, а во втором нет? листинг одинаковый, версия KOL тоже.
← →
Vladimir Kladov (2006-10-24 20:44) [9]это просто другой модуль. Разве вы не в курсе, что если компилятор пишет Undeclared, то надо ему дать модуль, в котром оно declared?
← →
Blackie (2006-10-25 21:46) [10]
> это просто другой модуль.
В environment options|library у меня был прописан путь к файлу koladd.pas, но при ближайшем рассмотрении оказалось, что он, мягко говоря, поврежден (размер файла 0 байт, определению TKOLOpenDirDialog там будет просто негде разместиться). Очевидно, это был какой-то старый файл от предыдущей версии KOL, который скопировался с ошибкой. Я просто навел порядок с путями и build проекта сделался.
Страницы: 1 вся ветка
Текущий архив: 2007.06.10;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.042 c