Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10

[ILINK32 Error] Error: Unresolved external

01.05.2013, 23:01. Показов 3607. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу DLL для КОМПАС-а. Исходники:
ПСЛ 6.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//-------------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
//-------------------------------------------------------------------------------
#pragma hdrstop
//-------------------------------------------------------------------------------
#include "ApplicationEvent.h"
#include "BaseEvent.h"
//-------------------------------------------------------------------------------
#pragma argsused
//-------------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
  if(reason == DLL_PROCESS_ATTACH) {
    Application->Handle = (HWND)::GetHWindow();
  } else if(reason == DLL_PROCESS_DETACH) {
    EventListObject::TerminateEvents();
    Application->Handle = NULL;
  }
  return 1;
}
//-------------------------------------------------------------------------------
extern "C" unsigned int __export __pascal LIBRARYID()
{
  return IDR_LIBID;
}
//-------------------------------------------------------------------------------
extern "C" int __export __stdcall LIBTOOLBARID(int BarType, int Index)
{
  if (!BarType)
    return !Index ? COMPACT_BAR1 : -1;
  else
    return -1;
}
/*//-------------------------------------------------------------------------------
int LibMessage(char* str, int flags = MB_OK) {
  int res = 0;
  if (str && str[0]) {                  // строка передана
  bool enabse = ::IsEnableTaskAccess(); // проверка доступа
    if (enabse)                         // если доступ к задаче разрешен
      ::EnableTaskAccess(0);              // запрещаем доступ
 
    //                             текст сообщения  заголовок                    параметры
    //res = Application->MessageBox(UnicodeString(str).w_str(), UnicodeString(LoadStr(LIBRARYID())).w_str(), flags);
    if (enabse) {                        // если доступ к задаче был запрещен
      ::EnableTaskAccess(1);             // разрешаем доступ к задаче
    }
  }
  return res;
} */
//-------------------------------------------------------------------------------
void Switches();
//-------------------------------------------------------------------------------
extern "C" void __export __pascal LIBRARYENTRY(unsigned int Command)
{
  if (ksGetCurrentDocument(1))
  {
    switch (Command)
    {
    case 1  :
      if (!BaseEvent::FindEvents(ntKompasObjectNotify)) {
        ApplicationEvent * aplEvent = new ApplicationEvent();  // обработчик событий приложения КОМПАС
        if (aplEvent->Advise()) {           // подписка на события приложения КОМПАС
          //::LibMessage("Подписались на события приложения КОМПАС");
        } else {
          //::LibMessage("Подписаться не удалось", MB_OK | MB_ICONERROR);
          delete aplEvent;
          aplEvent = 0;
        }
      } else {
        //::LibMessage("Уже подписались");
      }
      break;
    case 16 : Switches(); break; // Коммутационные устройства
    }
  }
  else
    MessageW(L"Документ не активизирован или\nне является листом/фрагментом");
}
//-------------------------------------------------------------------------------
// Коммутационные устройтва
// ---
void Switches()
{
}
//-------------------------------------------------------------------------------
BaseEvent.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//-------------------------------------------------------------------------------
#include <vcl.h>
//-------------------------------------------------------------------------------
#pragma hdrstop
//-------------------------------------------------------------------------------
#include "BaseEvent.h"
//-------------------------------------------------------------------------------
TList * EventListObject::m_pEventList = NULL;
//-------------------------------------------------------------------------------
void EventListObject::TerminateEvents()
{
  while(m_pEventList) {
    EventListObject *pEventListing = (EventListObject*)m_pEventList->First();
    delete pEventListing; // В деструкторе будет удален из списка и будет удален сам список
  }
}
//-------------------------------------------------------------------------------
EventListObject::EventListObject()
{
  if(!m_pEventList) {
    m_pEventList = new TList();
  }
  if(m_pEventList) {
    m_pEventList->Add(this);
  }
}
//-------------------------------------------------------------------------------
EventListObject::~EventListObject()
{
  if (m_pEventList) {
    m_pEventList->Remove(this);
    if(!m_pEventList->Count) {
      delete m_pEventList;
      m_pEventList = NULL;
    }
  }
}
//-------------------------------------------------------------------------------
BaseEvent::BaseEvent(int ifType, reference container, reference objType,  reference doc) :
  m_Advise(false), refDoc(doc)
{
  memset(&m_Params, 0, sizeof(m_Params));
  m_Params.pContainer = container;
  m_Params.objType    = objType;
  m_Params.ifType     = ifType;
}
//-------------------------------------------------------------------------------
BaseEvent::~BaseEvent()
{
  Unadvise();
  if (m_Params.iContainer) {       // Освободить контейнер
    m_Params.iContainer->Release();
    m_Params.iContainer = NULL;
  }
}
//-------------------------------------------------------------------------------
bool BaseEvent::Advise()
{
  if(!m_Advise && m_Params.ifType) {
    LPUNKNOWN obj = GetUnknown();
    m_Advise = !!::ksConnectionAdvise(&m_Params, obj);
    obj->Release();
  }
  return m_Advise;
}
//-------------------------------------------------------------------------------
void BaseEvent::Unadvise()
{
  if(m_Advise) {
    ::ksConnectionUnadvise(&m_Params);
    m_Advise = false;
  }
}
//-------------------------------------------------------------------------------
void BaseEvent::TerminateEvents(long eventType, reference doc, int objType, LPUNKNOWN iObj)
{
  if (!eventType && !doc) {
    EventListObject::TerminateEvents();
  } else {
    for (int i = m_pEventList->Count - 1; i >= 0; i--) {
      BaseEvent* evnt = (BaseEvent*)m_pEventList->Items[i];
      if (evnt && (!eventType     || eventType == evnt->m_Params.ifType )
               && (!doc           || doc       == evnt->refDoc          )
               && ( objType == -1 || objType   == evnt->m_Params.objType)
               && (!iObj          || iObj      == evnt->m_Params.iObj   )) {
        evnt->Disconnect();         // в деструкторе будет удален из списка RemoveAt(pos)
      }
    }
  }
}
//-------------------------------------------------------------------------------
void BaseEvent::Disconnect()
{
  Unadvise();
  Clear();
  __Release();
}
//-------------------------------------------------------------------------------
void BaseEvent::Clear()
{
  if (m_Params.iContainer) {       // Освободить контейнер
    m_Params.iContainer->Release();
    m_Params.iContainer = NULL;
  }
}
//-------------------------------------------------------------------------------
BaseEvent* BaseEvent::FindEvents(long eventType, reference doc, int objType, LPUNKNOWN iObj)
{
  BaseEvent* res = NULL;
  for (int i = m_pEventList->Count - 1; i >= 0; i--) {
    BaseEvent* evnt = (BaseEvent*)m_pEventList->Items[i];
    if (( !eventType                                 || eventType == evnt->GetType()       ) &&
        ((!doc           && !evnt->refDoc          ) || doc       == evnt->refDoc          ) &&
        (( objType == -1 && !evnt->m_Params.objType) || objType   == evnt->m_Params.objType) &&
        ((!iObj          && !evnt->m_Params.iObj   ) || iObj      == evnt->m_Params.iObj   )) {
      res = evnt;           // в деструкторе будет удален из списка RemoveAt(pos)
      break;
    }
  }
  return res;
}
//-------------------------------------------------------------------------------
BaseEvent.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//-------------------------------------------------------------------------------
#ifndef _BASEEVENT_H
#define _BASEEVENT_H
//-------------------------------------------------------------------------------
//#undef CINTERFACE
//-------------------------------------------------------------------------------
#include <ksConstants.h> // константы КОМПАС-а
#include <kAPI2D5COM.h>
#include "ldefin2d.h" // типы, структуры, объединения, константы КОМПАС-а
#include <LIBTOOL.H> функции КОМПАС-а
#include "ПСЛ 6_resource.rh"
//-------------------------------------------------------------------------------
class EventListObject
{
protected:
  static TList * m_pEventList;
public:
  EventListObject();
  static void    TerminateEvents();
  virtual        ~EventListObject();
};
//-------------------------------------------------------------------------------
class BaseEvent : public EventListObject {
protected:
  int                   m_Ref;    // Счетчик
  bool                  m_Advise; // Подписка ( true - сделан Advise )
  NotifyConnectionParam m_Params; // Параметры подписки
  reference             refDoc;
public:
  BaseEvent(int ifType = 0, reference container = 0, reference doc = 0, reference objType = 0);
  virtual               ~BaseEvent();
  static  void          TerminateEvents(long eventType, reference doc = 0, int objType = -1, LPUNKNOWN iObj = NULL);
  static BaseEvent *    FindEvents(long eventType, reference doc = 0, int objType = -1, LPUNKNOWN iObj = NULL);
  virtual LPUNKNOWN     GetUnknown() { return NULL; }
  bool                  Advise();     // Подписаться на получение событий
  void                  Unadvise();   // Описаться от получения событий
  virtual void          Clear();      // Очистка
  void                  Disconnect(); // Отсоединиться
  ULONG __AddRef() { return ++m_Ref; };
  ULONG __Release() {
    if (!--m_Ref)
      delete this;
    return m_Ref;
  };
  int GetType() { return m_Params.ifType; }
};
//-------------------------------------------------------------------------------
template <class NotifyInteface, const IID * pNotifyIID>
class TBaseEvent : public BaseEvent, public NotifyInteface
{
public:
  TBaseEvent(int ifType = 0, reference container = 0, reference doc = 0, reference objType = 0);
  virtual           ~TBaseEvent() {}
  virtual LPUNKNOWN GetUnknown();
  HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void **ppvObject);
  ULONG STDMETHODCALLTYPE AddRef() { return __AddRef(); }
  ULONG STDMETHODCALLTYPE Release() { return __Release(); }
};
//-------------------------------------------------------------------------------
template <class NotifyInteface, const IID * pNotifyIID>
TBaseEvent<NotifyInteface, pNotifyIID>::TBaseEvent(int ifType, reference container, reference doc, reference objType) :
  BaseEvent(ifType, container, doc, objType)
{
}
//-------------------------------------------------------------------------------
template <class NotifyInteface, const IID * pNotifyIID>
HRESULT STDMETHODCALLTYPE TBaseEvent<NotifyInteface, pNotifyIID>::QueryInterface(REFIID iid, void **ppvObject)
{
  *ppvObject = 0;
  if (iid == IID_IUnknown || iid == *pNotifyIID)
  {
    (this)->AddRef();
    *ppvObject = this;
  }
  else
    return E_NOINTERFACE;
  return S_OK;
}
//-------------------------------------------------------------------------------
template <class NotifyInteface, const IID * pNotifyIID>
LPUNKNOWN TBaseEvent<NotifyInteface, pNotifyIID>::GetUnknown()
{
  AddRef();
  return this;
}
//-------------------------------------------------------------------------------
#endif
//-------------------------------------------------------------------------------
ApplicationEvent.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//-------------------------------------------------------------------------------
#include <vcl.h>
//-------------------------------------------------------------------------------
#pragma hdrstop
//-------------------------------------------------------------------------------
#include "ApplicationEvent.h"
//-------------------------------------------------------------------------------
//extern int LibMessage(char* str, int flags = MB_OK);
//-------------------------------------------------------------------------------
ApplicationEvent::ApplicationEvent() :
  TBaseEvent<IKompasObjectNotify, &IID_IKompasObjectNotify>(ntKompasObjectNotify, 0)
{
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::IsNotifyProcess(int notifyType)
{
  return  notifyType >= koCreateDocument && notifyType <= koBeginCloseAllDocument;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::CreateDocument(long pDoc, int docType)
{
  //LibMessage("ApplicationEvent - Документ создан");
  return TRUE;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::BeginOpenDocument(LPCSTR docName)
{
  //return LibMessage( "ApplicationEvent - Начало открытия документа\nОткрыть документ?", MB_YESNO ) == IDYES;
  return TRUE;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::OpenDocument(long pDoc, int docType)
{
  //LibMessage( "ApplicationEvent - Документ открыт" );
  return TRUE;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::ChangeActiveDocument(long pDoc, int docType)
{
  //LibMessage( "ApplicationEvent - Переключение на другой активный документ" );
  return TRUE;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::ApplicationDestroy(void)
{
  //LibMessage( "ApplicationEvent - Закрытие приложения" );
  return TRUE;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::BeginCreate(long type)
{
  bool res = true;
  /*int com = YesNo( "ApplicationEvent::BeginCreate\n "
                       "Да - Создать чертеж\n"
                       "Нет - запустить стандартный диалог создания файла\n"
                                     "Отмена - не создавать файл" );
    switch ( com ) {
      case 1: {
      DocumentParam docParam;
            memset( &docParam, 0, sizeof(docParam) );
            docParam.type = type ? type : lt_DocSheetStandart;
            reference doc = ::CreateDocument( &docParam );
      res = !doc;
//          if ( doc )
//              AdviseDoc( doc );
            break;
        }
        case 0:
            res = true;
            break;
        case -1:
            res = false;
    }*/
    return res;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::BeginOpenFile(void)
{
  bool res = true;
  /*int com = YesNo( "ApplicationEvent::BeginOpenFile\n "
                       "Да - Создать чертеж\n"
                       "Нет - запустить стандартный диалог открытия файла\n"
                                     "Отмена - не открывать файл" );
    switch ( com ) {
      case 1: {
      DocumentParam docParam;
            memset( &docParam, 0, sizeof(docParam) );
      docParam.type = lt_DocSheetStandart;
      reference doc = ::CreateDocument( &docParam );
      res = !doc; // если документ создан стандартный диалог не нужен
//      if ( doc && theApp.m_auto )
//        AdviseDoc( doc );
      break;
    }
    case 0:
      res = true;
      break;
    case -1:
      res = false;
  }*/
    return res;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::BeginCloseAllDocument(void) {
  return true; //YesNo( "EventCom::ApplicationEvent::BeginCloseAllDocument\nЗакрыть все?" ) == 1;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::KeyDown(long __RPC_FAR *key, long flags, VARIANT_BOOL sysKey)
{
  return true;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::KeyUp(long __RPC_FAR *key, long flags, VARIANT_BOOL sysKey)
{
  return true;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::KeyPress(long __RPC_FAR *key, VARIANT_BOOL sysKey)
{
  return true;
}
//-------------------------------------------------------------------------------
VARIANT_BOOL STDMETHODCALLTYPE ApplicationEvent::BeginRequestFiles(long requestID, VARIANT __RPC_FAR *files)
{
  return true;
}
//-------------------------------------------------------------------------------
ApplicationEvent.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//-------------------------------------------------------------------------------
#ifndef _APPLICATIONEVENT_H
#define _APPLICATIONEVENT_H
//-------------------------------------------------------------------------------
#include "BaseEvent.h"
//---------------------------------------------------------------------------
class ApplicationEvent : public TBaseEvent<IKompasObjectNotify, & IID_IKompasObjectNotify>
{
public:
  ApplicationEvent();
//protected:
  virtual VARIANT_BOOL STDMETHODCALLTYPE IsNotifyProcess(int notifyType);
  virtual VARIANT_BOOL STDMETHODCALLTYPE CreateDocument(long pDoc, int docType);
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginOpenDocument(LPCSTR docName);
  virtual VARIANT_BOOL STDMETHODCALLTYPE OpenDocument(long pDoc, int docType);
  virtual VARIANT_BOOL STDMETHODCALLTYPE ChangeActiveDocument(long pDoc, int docType);
  virtual VARIANT_BOOL STDMETHODCALLTYPE ApplicationDestroy(void);
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginCreate(long type);
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginOpenFile(void);
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginCloseAllDocument(void);
  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyDown(long __RPC_FAR *key, long flags, VARIANT_BOOL sysKey);
  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyUp(long __RPC_FAR *key, long flags, VARIANT_BOOL sysKey);
  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyPress(long __RPC_FAR *key, VARIANT_BOOL sysKey);
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginRequestFiles(long requestID, VARIANT __RPC_FAR *files);
};
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
kAPI2D5COM.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
 
 
 /* File created by MIDL compiler version 6.00.0366 */
/* at Fri Mar 25 02:52:57 2011
 */
/* Compiler settings for .\libInterfaces.odl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )
 
#pragma warning( disable: 4049 )  /* more than 64k source lines */
 
 
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
 
#include "rpc.h"
#include "rpcndr.h"
 
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
 
 
#ifndef __kAPI2D5COM_h__
#define __kAPI2D5COM_h__
 
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
 
/* Forward Declarations */ 
 
#ifndef __IKompasNotify_FWD_DEFINED__
#define __IKompasNotify_FWD_DEFINED__
typedef interface IKompasNotify IKompasNotify;
#endif  /* __IKompasNotify_FWD_DEFINED__ */
 
 
#ifndef __IKompasObjectNotify_FWD_DEFINED__
#define __IKompasObjectNotify_FWD_DEFINED__
typedef interface IKompasObjectNotify IKompasObjectNotify;
#endif  /* __IKompasObjectNotify_FWD_DEFINED__ */
 
 
#ifndef __IDocumentFileNotify_FWD_DEFINED__
#define __IDocumentFileNotify_FWD_DEFINED__
typedef interface IDocumentFileNotify IDocumentFileNotify;
#endif  /* __IDocumentFileNotify_FWD_DEFINED__ */
 
 
#ifndef __IStampNotify_FWD_DEFINED__
#define __IStampNotify_FWD_DEFINED__
typedef interface IStampNotify IStampNotify;
#endif  /* __IStampNotify_FWD_DEFINED__ */
 
 
#ifndef __IObject2DNotify_FWD_DEFINED__
#define __IObject2DNotify_FWD_DEFINED__
typedef interface IObject2DNotify IObject2DNotify;
#endif  /* __IObject2DNotify_FWD_DEFINED__ */
 
 
#ifndef __IObject2DNotifyResult_FWD_DEFINED__
#define __IObject2DNotifyResult_FWD_DEFINED__
typedef interface IObject2DNotifyResult IObject2DNotifyResult;
#endif  /* __IObject2DNotifyResult_FWD_DEFINED__ */
 
 
#ifndef __ISelectionMngNotify_FWD_DEFINED__
#define __ISelectionMngNotify_FWD_DEFINED__
typedef interface ISelectionMngNotify ISelectionMngNotify;
#endif  /* __ISelectionMngNotify_FWD_DEFINED__ */
 
 
#ifndef __ISpcObjectNotify_FWD_DEFINED__
#define __ISpcObjectNotify_FWD_DEFINED__
typedef interface ISpcObjectNotify ISpcObjectNotify;
#endif  /* __ISpcObjectNotify_FWD_DEFINED__ */
 
 
#ifndef __ISpcDocumentNotify_FWD_DEFINED__
#define __ISpcDocumentNotify_FWD_DEFINED__
typedef interface ISpcDocumentNotify ISpcDocumentNotify;
#endif  /* __ISpcDocumentNotify_FWD_DEFINED__ */
 
 
#ifndef __ISpecificationNotify_FWD_DEFINED__
#define __ISpecificationNotify_FWD_DEFINED__
typedef interface ISpecificationNotify ISpecificationNotify;
#endif  /* __ISpecificationNotify_FWD_DEFINED__ */
 
 
#ifndef __IDocument2DNotify_FWD_DEFINED__
#define __IDocument2DNotify_FWD_DEFINED__
typedef interface IDocument2DNotify IDocument2DNotify;
#endif  /* __IDocument2DNotify_FWD_DEFINED__ */
 
 
#ifndef __IPropertyManagerNotify_FWD_DEFINED__
#define __IPropertyManagerNotify_FWD_DEFINED__
typedef interface IPropertyManagerNotify IPropertyManagerNotify;
#endif  /* __IPropertyManagerNotify_FWD_DEFINED__ */
 
 
#ifndef __IDocumentFrameNotify_FWD_DEFINED__
#define __IDocumentFrameNotify_FWD_DEFINED__
typedef interface IDocumentFrameNotify IDocumentFrameNotify;
#endif  /* __IDocumentFrameNotify_FWD_DEFINED__ */
 
 
#ifndef __IViewsAndLayersManagerNotify_FWD_DEFINED__
#define __IViewsAndLayersManagerNotify_FWD_DEFINED__
typedef interface IViewsAndLayersManagerNotify IViewsAndLayersManagerNotify;
#endif  /* __IViewsAndLayersManagerNotify_FWD_DEFINED__ */
 
 
#ifndef __ILibraryManagerNotify_FWD_DEFINED__
#define __ILibraryManagerNotify_FWD_DEFINED__
typedef interface ILibraryManagerNotify ILibraryManagerNotify;
#endif  /* __ILibraryManagerNotify_FWD_DEFINED__ */
 
 
#ifndef __IParametrizationParam_FWD_DEFINED__
#define __IParametrizationParam_FWD_DEFINED__
typedef interface IParametrizationParam IParametrizationParam;
#endif  /* __IParametrizationParam_FWD_DEFINED__ */
 
 
#ifdef __cplusplus
extern "C"{
#endif 
 
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 
 
 
#ifndef __Kompas6API2D5COM_LIBRARY_DEFINED__
#define __Kompas6API2D5COM_LIBRARY_DEFINED__
 
/* library Kompas6API2D5COM */
/* [version][uuid] */ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
typedef IKompasNotify *LPKOMPASNOTIFY;
 
typedef IKompasObjectNotify *LPKOMPASOBJECTNOTIFY;
 
typedef IDocumentFileNotify *LPDOCUMENTFILENOTIFY;
 
typedef IStampNotify *LPSTAMPNOTIFY;
 
typedef IObject2DNotify *LPOBJECT2DNOTIFY;
 
typedef IObject2DNotifyResult *LPOBJECT2DNOTIFYRESULT;
 
typedef ISelectionMngNotify *LPSELECTIONMNGNOTIFY;
 
typedef ISpcObjectNotify *LPSPCOBJECTNOTIFY;
 
typedef ISpcDocumentNotify *LPSPCDOCUMENTNOTIFY;
 
typedef ISpecificationNotify *LPSPECIFICATIONNOTIFY;
 
typedef IDocument2DNotify *LPDOCUMENT2DNOTIFY;
 
typedef IPropertyManagerNotify *LPPROPERTYMANAGERNOTIFY;
 
typedef IDocumentFrameNotify *LPDOCUMENTFRAMENOTIFY;
 
typedef IParametrizationParam *LPPARAMETRIZATIONPARAM;
 
typedef IViewsAndLayersManagerNotify *LPVIEWSANDLAYERSMANAGERNOTIFY;
 
typedef ILibraryManagerNotify *LPLIBRARYMANAGERNOTIFY;
 
 
DEFINE_GUID(LIBID_Kompas6API2D5COM,0x0F4AB6C5,0x1420,0x4848,0xAF,0xCE,0x18,0xCB,0xE7,0x01,0xBE,0x1A);
 
#ifndef __IKompasNotify_INTERFACE_DEFINED__
#define __IKompasNotify_INTERFACE_DEFINED__
 
/* interface IKompasNotify */
/* [object][hidden][helpstring][uuid] */ 
 
 
DEFINE_GUID(IID_IKompasNotify,0xC89A8C15,0x2DE0,0x408b,0x8C,0x89,0xB1,0xCF,0x4E,0xAE,0x12,0x63);
 
#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C89A8C15-2DE0-408b-8C89-B1CF4EAE1263")
    IKompasNotify : public IUnknown
    {
    public:
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IsNotifyProcess( 
            int notifyType) = 0;
        
    };
    
#else   /* C style interface */
 
    typedef struct IKompasNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IKompasNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IKompasNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IKompasNotify * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *IsNotifyProcess )( 
            IKompasNotify * This,
            int notifyType);
        
        END_INTERFACE
    } IKompasNotifyVtbl;
 
    interface IKompasNotify
    {
        CONST_VTBL struct IKompasNotifyVtbl *lpVtbl;
    };
 
    
 
#ifdef COBJMACROS
 
 
#define IKompasNotify_QueryInterface(This,riid,ppvObject)   \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 
#define IKompasNotify_AddRef(This)  \
    (This)->lpVtbl -> AddRef(This)
 
#define IKompasNotify_Release(This) \
    (This)->lpVtbl -> Release(This)
 
 
#define IKompasNotify_IsNotifyProcess(This,notifyType)  \
    (This)->lpVtbl -> IsNotifyProcess(This,notifyType)
 
#endif /* COBJMACROS */
 
 
#endif  /* C style interface */
 
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasNotify_IsNotifyProcess_Proxy( 
    IKompasNotify * This,
    int notifyType);
 
 
void __RPC_STUB IKompasNotify_IsNotifyProcess_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
 
#endif  /* __IKompasNotify_INTERFACE_DEFINED__ */
 
 
#ifndef __IKompasObjectNotify_INTERFACE_DEFINED__
#define __IKompasObjectNotify_INTERFACE_DEFINED__
 
/* interface IKompasObjectNotify */
/* [object][hidden][helpstring][uuid] */ 
 
 
DEFINE_GUID(IID_IKompasObjectNotify,0xEBF88CAE,0x07D4,0x4fd3,0x80,0x69,0xA0,0xEF,0x15,0xF5,0x66,0x72);
 
#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBF88CAE-07D4-4fd3-8069-A0EF15F56672")
    IKompasObjectNotify : public IKompasNotify
    {
    public:
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE CreateDocument( 
            long pDoc,
            int docType) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginOpenDocument( 
            LPCSTR docName) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE OpenDocument( 
            long pDoc,
            int docType) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE ChangeActiveDocument( 
            long pDoc,
            int docType) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE ApplicationDestroy( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginCreate( 
            long docType) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginOpenFile( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginCloseAllDocument( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE KeyDown( 
            long *key,
            long flags,
            VARIANT_BOOL sysKey) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE KeyUp( 
            long *key,
            long flags,
            VARIANT_BOOL sysKey) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE KeyPress( 
            long *key,
            VARIANT_BOOL sysKey) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginRequestFiles( 
            long requestID,
            VARIANT *files) = 0;
        
    };
    
#else   /* C style interface */
 
    typedef struct IKompasObjectNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IKompasObjectNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IKompasObjectNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IKompasObjectNotify * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *IsNotifyProcess )( 
            IKompasObjectNotify * This,
            int notifyType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *CreateDocument )( 
            IKompasObjectNotify * This,
            long pDoc,
            int docType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *BeginOpenDocument )( 
            IKompasObjectNotify * This,
            LPCSTR docName);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *OpenDocument )( 
            IKompasObjectNotify * This,
            long pDoc,
            int docType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *ChangeActiveDocument )( 
            IKompasObjectNotify * This,
            long pDoc,
            int docType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *ApplicationDestroy )( 
            IKompasObjectNotify * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *BeginCreate )( 
            IKompasObjectNotify * This,
            long docType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *BeginOpenFile )( 
            IKompasObjectNotify * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *BeginCloseAllDocument )( 
            IKompasObjectNotify * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *KeyDown )( 
            IKompasObjectNotify * This,
            long *key,
            long flags,
            VARIANT_BOOL sysKey);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *KeyUp )( 
            IKompasObjectNotify * This,
            long *key,
            long flags,
            VARIANT_BOOL sysKey);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *KeyPress )( 
            IKompasObjectNotify * This,
            long *key,
            VARIANT_BOOL sysKey);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE *BeginRequestFiles )( 
            IKompasObjectNotify * This,
            long requestID,
            VARIANT *files);
        
        END_INTERFACE
    } IKompasObjectNotifyVtbl;
 
    interface IKompasObjectNotify
    {
        CONST_VTBL struct IKompasObjectNotifyVtbl *lpVtbl;
    };
 
    
 
#ifdef COBJMACROS
 
 
#define IKompasObjectNotify_QueryInterface(This,riid,ppvObject) \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 
#define IKompasObjectNotify_AddRef(This)    \
    (This)->lpVtbl -> AddRef(This)
 
#define IKompasObjectNotify_Release(This)   \
    (This)->lpVtbl -> Release(This)
 
 
#define IKompasObjectNotify_IsNotifyProcess(This,notifyType)    \
    (This)->lpVtbl -> IsNotifyProcess(This,notifyType)
 
 
#define IKompasObjectNotify_CreateDocument(This,pDoc,docType)   \
    (This)->lpVtbl -> CreateDocument(This,pDoc,docType)
 
#define IKompasObjectNotify_BeginOpenDocument(This,docName) \
    (This)->lpVtbl -> BeginOpenDocument(This,docName)
 
#define IKompasObjectNotify_OpenDocument(This,pDoc,docType) \
    (This)->lpVtbl -> OpenDocument(This,pDoc,docType)
 
#define IKompasObjectNotify_ChangeActiveDocument(This,pDoc,docType) \
    (This)->lpVtbl -> ChangeActiveDocument(This,pDoc,docType)
 
#define IKompasObjectNotify_ApplicationDestroy(This)    \
    (This)->lpVtbl -> ApplicationDestroy(This)
 
#define IKompasObjectNotify_BeginCreate(This,docType)   \
    (This)->lpVtbl -> BeginCreate(This,docType)
 
#define IKompasObjectNotify_BeginOpenFile(This) \
    (This)->lpVtbl -> BeginOpenFile(This)
 
#define IKompasObjectNotify_BeginCloseAllDocument(This) \
    (This)->lpVtbl -> BeginCloseAllDocument(This)
 
#define IKompasObjectNotify_KeyDown(This,key,flags,sysKey)  \
    (This)->lpVtbl -> KeyDown(This,key,flags,sysKey)
 
#define IKompasObjectNotify_KeyUp(This,key,flags,sysKey)    \
    (This)->lpVtbl -> KeyUp(This,key,flags,sysKey)
 
#define IKompasObjectNotify_KeyPress(This,key,sysKey)   \
    (This)->lpVtbl -> KeyPress(This,key,sysKey)
 
#define IKompasObjectNotify_BeginRequestFiles(This,requestID,files) \
    (This)->lpVtbl -> BeginRequestFiles(This,requestID,files)
 
#endif /* COBJMACROS */
 
 
#endif  /* C style interface */
 
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_CreateDocument_Proxy( 
    IKompasObjectNotify * This,
    long pDoc,
    int docType);
 
 
void __RPC_STUB IKompasObjectNotify_CreateDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_BeginOpenDocument_Proxy( 
    IKompasObjectNotify * This,
    LPCSTR docName);
 
 
void __RPC_STUB IKompasObjectNotify_BeginOpenDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_OpenDocument_Proxy( 
    IKompasObjectNotify * This,
    long pDoc,
    int docType);
 
 
void __RPC_STUB IKompasObjectNotify_OpenDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_ChangeActiveDocument_Proxy( 
    IKompasObjectNotify * This,
    long pDoc,
    int docType);
 
 
void __RPC_STUB IKompasObjectNotify_ChangeActiveDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_ApplicationDestroy_Proxy( 
    IKompasObjectNotify * This);
 
 
void __RPC_STUB IKompasObjectNotify_ApplicationDestroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_BeginCreate_Proxy( 
    IKompasObjectNotify * This,
    long docType);
 
 
void __RPC_STUB IKompasObjectNotify_BeginCreate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_BeginOpenFile_Proxy( 
    IKompasObjectNotify * This);
 
 
void __RPC_STUB IKompasObjectNotify_BeginOpenFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_BeginCloseAllDocument_Proxy( 
    IKompasObjectNotify * This);
 
 
void __RPC_STUB IKompasObjectNotify_BeginCloseAllDocument_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_KeyDown_Proxy( 
    IKompasObjectNotify * This,
    long *key,
    long flags,
    VARIANT_BOOL sysKey);
 
 
void __RPC_STUB IKompasObjectNotify_KeyDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_KeyUp_Proxy( 
    IKompasObjectNotify * This,
    long *key,
    long flags,
    VARIANT_BOOL sysKey);
 
 
void __RPC_STUB IKompasObjectNotify_KeyUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_KeyPress_Proxy( 
    IKompasObjectNotify * This,
    long *key,
    VARIANT_BOOL sysKey);
 
 
void __RPC_STUB IKompasObjectNotify_KeyPress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IKompasObjectNotify_BeginRequestFiles_Proxy( 
    IKompasObjectNotify * This,
    long requestID,
    VARIANT *files);
 
 
void __RPC_STUB IKompasObjectNotify_BeginRequestFiles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);
 
 
 
#endif  /* __IKompasObjectNotify_INTERFACE_DEFINED__ */
 
...
Компилирую в RAD Studio XE, выдает ошибку:
[ILINK32 Error] Error: Unresolved external '_IID_IKompasObjectNotify' referenced from ...\BUILDER XE\...\DEBUG\WIN32\APPLICATIONEVENT.OBJ. Подскажите в чем ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2013, 23:01
Ответы с готовыми решениями:

Ошибка [ILINK32 Error] Error: Unresolved external '_Form5' referenced from
Все отлично работало, ничего не трогал, но вдруг появилась эта ошибка Error: Unresolved external '_Form5' referenced from...

[ilink32 Error] Error: Unresolved external '__fastcall TForm1::SetFolder(System::AnsiStringT<0>)
protected: AnsiString __fastcall GetFolder(void); void __fastcall SetFolder(AnsiString NewFolder); AnsiString FFolder; Данная...

Ошибка [ILINK32 Error] Error unresolved external
Ребят,подскажите,пожалуйста, что от меня хочет компилятор и как это сделать?? при компиляции выдается следующая ошибка: Error:...

4
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.05.2013, 00:09
Что делают классы-компоненты VCL в DLL ?

Dynamic-Link Library: Теория + Практика

Добавлено через 1 минуту
Судя по ошибке не найдено определение "_IID_IKompasObjectNotify"
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
02.05.2013, 00:13  [ТС]
Определена в заголовочном kAPI2D5COM.h 302 строка:
C++
1
DEFINE_GUID(IID_IKompasObjectNotify,0xEBF88CAE,0x07D4,0x4fd3,0x80,0x69,0xA0,0xEF,0x15,0xF5,0x66,0x72);
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.05.2013, 00:17
Её не видит... где то я уже видел похожую проблему...

Добавлено через 2 минуты
А... вот нашел https://www.cyberforum.ru/post4349476.html

Попробуй добавить туда где это объявление
C++
1
2
#include <devguid.h>
#include <initguid.h>// defines the guid macros
1
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
02.05.2013, 07:16  [ТС]
Спасибо, пропала ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2013, 07:16
Помогаю со студенческими работами здесь

[ILINK32 Error] Error: Unresolved external '__fastcall TMainForm::MaskEdit1Change(System::TObject *)' referenced from C:\LCARD\MAIN.OBJ
одна ошибка просто достала, наверняка где то уже была тема про эту ошибку, но не могу найти вообщем добавляю на поле какую нибудь...

[ilink32 Error] Error: Unresolved external
Здравствуйте! Буквально вчера создал и сохранил проект. Сегодня открыл и попытался добавить TLabel для оформления и сразу получил 13...

[ILINK32 Error] Error: Unresolved external...
Есть библиотека: #include &lt;vcl.h&gt; class EK { private: public: class A; };

[LINK Error] Error: Unresolved external
Error: Unresolved external 'g_hInstance' referenced from C:\USERS\ADMIN\DESKTOP\EKN\UNIT1.OBJ ТАКАЯ ВОТ ОШИбКА пожалуйста,ПОМОГИТЕ...

[Linker Error] Unresolved external
Unresolved external '__fastcall Idudpbase::TIdUDPBase::Send(const System::AnsiString, const unsigned short, const System::AnsiString)'...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru