Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 3.879 c
15-1178804267
Desdechado
2007-05-10 17:37
2007.06.10
Шаблоны документов и их наполнение из БД


15-1179481611
stone
2007-05-18 13:46
2007.06.10
Экономика по-нашему :)


9-1153263872
Хиппи
2006-07-19 03:04
2007.06.10
Можно ли к GLScene прикрутить плагины от Милкшейпа?


2-1179418874
Skynet_
2007-05-17 20:21
2007.06.10
Двойной щелчек по выделенной строке в DBGride


15-1178992711
Ёжик
2007-05-12 21:58
2007.06.10
Вышел - таки KDE4





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский