реклама на сайте
подробности

 
 
> проблема с DBX и Дельфями..., немогу установить связь с DBX 2006 P-CADa
Massi
сообщение Dec 21 2007, 07:37
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 007
Регистрация: 24-01-06
Из: Киев
Пользователь №: 13 556



Собственно немного истории...программер наш написал прогу для добычи перечня состоявшего из полей
имя выделеного компонента, номер ножки, имя ножки...что было очень удобно...выделил матрицу
208-ногую...и получил список красивый...видно что где находится...но это было в каде 2002...
перешел на 2006...взял ДБХ от него...программер в Дельфях пытается установить связь с новой длл-кой...и ничего...
кто писал что то подобное...и где копатся...
ошибка 32141 dbx_item_not_found


--------------------
Motobaza.kiev.ua
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Yuri Potapoff
сообщение Dec 21 2007, 11:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 752
Регистрация: 10-11-04
Из: Железнодорожный
Пользователь №: 1 093



С выходом очередной версии пикада DBX интерфейс менялся, иногда кардинально. Мы замучились переписывать код своих утилит для пикада DrawPCAD и прекратили обновления.
Go to the top of the page
 
+Quote Post
SergM
сообщение Dec 21 2007, 22:56
Сообщение #3


Местный
***

Группа: Модераторы
Сообщений: 392
Регистрация: 23-06-04
Из: Харьков
Пользователь №: 151



Цитата(Massi @ Dec 21 2007, 11:37) *
...перешел на 2006...взял ДБХ от него...программер в Дельфях пытается установить связь с новой длл-кой...и ничего...
кто писал что то подобное...и где копатся...


Я использовал не много подправленный результат трансляции заголовочного файла Dbx32.h
Прикрепленный файл  DBX32.ZIP ( 21.94 килобайт ) Кол-во скачиваний: 160


Связь с pcb через вызов функции TOpenDesign DBX выглядит у меня примерно так (практически не меняясь со времен P-CAD 2002):

Код
unit Unit1;
...
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls;

type
  TForm1 = class(TForm)
...
    Edit1: TEdit;
    StatusBar1: TStatusBar;
    dgSaveDrlFile: TSaveDialog;
...
    procedure FormCreate(Sender: TObject);
...
  private
    function ConnectToPcb: boolean;
   public
    procedure DisplayEdStr(Ed: TEdit; EdStr: string);
  end;


var
  Form1: TForm1;

  
implementation

uses DBX32,         // прикреплен к этому посту                                                    
       FileCtrl;

{$R *.dfm}

var
  dbx_Res: LongInt;    // Результат вызова DBX функции                                                            
  dbx_Context: DbxContext;
  dbx_Design: TDesign;
...

function TForm1.ConnectToPcb: boolean;
begin
  Result:=False;
  StatusBar1.SimpleText:=' Подключение к PCB проекту ...';
  dbx_Res:=TOpenDesign(DBX_LANGUAGE, DBX_VERSION, 'pcb', dbx_Context);
  if dbx_Res=DBX_OK then begin
    dbx_Res:=TGetDesignInfo(dbx_Context, dbx_Design);
    if dbx_Res=DBX_OK then begin
      PcbFileName:=dbx_Design.designName;
      if PcbFileName='' then
        StatusBar1.SimpleText:=' Сохраните проект.'
      else begin
// Название PCB файла
       DisplayEdStr(Edit1, pcbFileName);
       dgSaveDrlFile.FileName:=ChangeFileExt(PcbFileName, '.drl');
       DisplayEdStr(Edit2, dgSaveDrlFile.FileName);
       StatusBar1.SimpleText:='';
       Result:=True;
      end;
    end;
  end else StatusBar1.SimpleText:=' Ошибка подключения к проекту.';
end;


Цитата
ошибка 32141 dbx_item_not_found

Эта ошибка может появлятьсся во многих местах. Надо обязательно
после вызова каждой DBX функции, проверять возвращаемое ей значение.
Т.е. предусматривать что-то вроде такого:
Код
    if dbx_Res=DBX_OK then
    begin                                                                // ОК
       ...
    end else                                                            // Error - анализ и последующая обработка
       ...
    end;
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 09:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016