arduino usb delphi

djtorian
Offline
Зарегистрирован: 14.05.2017

Нужно считывать данные с ацп ардуино, допустим 5 вольт, и передавать их в делфи по юсб.

Полистав форум, нашел тему, код взял от сюда.

http://arduino.ru/forum/programmirovanie/com-port-kak-svyaz-programmy-na...

Порт открывает, закрывает, но больше ничего не происходит. Помогите, что делаю не так, так как проблемму эту нужно решить мне, как можно быстрее.

Спасибо, заранее.

Д

елфи 7

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AfDataDispatcher, AfComPort, StdCtrls, AfPortControls,
  AfViewers, AfDataTerminal;
 
type
  TForm1 = class(TForm)
    AfComPort1: TAfComPort;
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    AfPortComboBox1: TAfPortComboBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  rcvStr : string;
implementation
 
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
AfComPort1.ComNumber := 3;
AfComPort1.Open;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
AfComPort1.Close;
end;
procedure TForm1.Button3Click(Sender: TObject);
var  s: string;
begin
  try
    rcvStr := rcvStr + AfComPort1.ReadString;
      if pos('#',rcvStr)<>0  then
          begin
            s:=copy(rcvStr,0,pos('#',rcvStr)-1);
            Memo2.Lines.Add(s);
            Delete(rcvStr ,0,pos('#',rcvStr));
          end;
  except
  end;
end;
end.
 
 
Ардуино Нано
 
 
#define _500ms 500
unsigned long Timer1PreviousMillis = 0;
void setup() {
  // put your setup code here, to run once:
 
 
}
 
void loop() {
  
unsigned long TimerCurrentMillis = millis();
  if(TimerCurrentMillis - Timer1PreviousMillis > _500ms)
  {
     float volt=5.0/1024*analogRead(A0); 
     Serial.println(String(volt)+ "#");
     Timer1PreviousMillis = TimerCurrentMillis;
  }
 
}

 

djtorian
Offline
Зарегистрирован: 14.05.2017

тупонул немного, не хватало 

Serial.begin(9600);

Скорость передачи задал, теперь передача с ардуино идет, в мониторе порта посмотрел, все как надо.

Но как в делфи считать? Никак не получается. Хоть и добавил команду 

AfComPort1.BaudRate:=br9600;

ничего не меняется

T.Rook
Offline
Зарегистрирован: 05.03.2016

Если с номер порта со стороны delphi не промазали, то вроде все так.

А просто в монитор порта, выдает Ваши вольты раз в полсекунды?

UPD: ага. чуть опередили. На всяк случай спрошу: на кнопу3 (после кнопы1)нажимаете?

а если просто :

  try
 //   rcvStr := rcvStr + AfComPort1.ReadString;
   rcvStr := AfComPort1.ReadString;
      if pos('#',rcvStr)<>0  then
          begin
            //s:=copy(rcvStr,0,pos('#',rcvStr)-1);
            Memo2.Lines.Add(rcvStr);
            //Delete(rcvStr ,0,pos('#',rcvStr));
          end;
  except
  end;
djtorian
Offline
Зарегистрирован: 14.05.2017

нет, так тоже не получается. ничего не приходит на ум.

T.Rook
Offline
Зарегистрирован: 05.03.2016

скриншот с IDE с номером порта

strarbit
Offline
Зарегистрирован: 12.06.2016
djtorian
Offline
Зарегистрирован: 14.05.2017

я пробовал с таймером - результат тот же, ничего!

djtorian
Offline
Зарегистрирован: 14.05.2017

 

это имели в виду?

djtorian
Offline
Зарегистрирован: 14.05.2017

Вот с таймером

делфи

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AfDataDispatcher, AfComPort, StdCtrls, AfPortControls,
  AfViewers, AfDataTerminal, ExtCtrls;
 
type
  TForm1 = class(TForm)
    AfComPort1: TAfComPort;
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    AfPortComboBox1: TAfPortComboBox;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure AfComPort1DataRecived(Sender: TObject; Count: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure AfComPort1CTSChanged(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  rcvStr, sval : string;
 
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
AfComPort1.ComNumber := 3;
AfComPort1.Open;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
AfComPort1.Close;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var  s: string;
 
begin
  try
    rcvStr := rcvStr + AfComPort1.ReadString;
      if pos('#',rcvStr)<>0  then
 
          begin
 
            s:=copy(rcvStr,0,pos('#',rcvStr)-1);
 
            Memo2.Lines.Add(s);
            Delete(rcvStr ,0,pos('#',rcvStr));
          end;
 
  except
  end;
end;
 
procedure TForm1.AfComPort1DataRecived(Sender: TObject; Count: Integer);
 
var  s: string;
begin
 
  try
    rcvStr := rcvStr + AfComPort1.ReadString;
      if pos('#',rcvStr)<>0  then
 
          begin
 
            s:=copy(rcvStr,0,pos('#',rcvStr)-1);
 
            Memo2.Lines.Add(s);
            Delete(rcvStr ,0,pos('#',rcvStr));
          end;
 
  except
  end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
u:real;
s:string;
begin
 
  try
AfComPort1.BaudRate:=br9600;
    s := AfComPort1.ReadString;
    if s<>'' then
    begin
      if (Pos(#13#10,s)<>0) then
      begin
        if (sval='') then
        begin
          if s<>#13#10 then Memo2.Lines.Add(s)
        end
        else
        begin
          if (sval<>'') then
          begin
            if s<>#13#10 then Memo2.Lines.Add(sval+s);
            sval:='';
          end
        end;
      end
      else sval:=sval+s;
    end;
  except
  end
end;
 
procedure TForm1.AfComPort1CTSChanged(Sender: TObject);
var  s:string;
begin
AfComPort1.BaudRate:=br9600;
  try
    s := AfComPort1.ReadString;
    if s<>'' then  Memo2.Lines.Add(s);
  except
  end;
 
end;
 
procedure TForm1.Button4Click(Sender: TObject);
var  s:string;
begin
AfComPort1.BaudRate:=br9600;
  try
    s := AfComPort1.ReadString;
    if s<>'' then  Memo2.Lines.Add(s);
  except
  end;
 
end;
 
end.
 
 
ардуино
void setup() {
  // put your setup code here, to run once:
 
Serial.begin(9600);
}
 
void loop() {
  
  {
     float volt = 5.0 /1024 * analogRead(A0);
  Serial.println(volt);
  delay(500);
 
  }
 
}

 

T.Rook
Offline
Зарегистрирован: 05.03.2016

Еще упрощаем:

try

 //   rcvStr := rcvStr + AfComPort1.ReadString;
   rcvStr := AfComPort1.ReadString;
 //    if pos('#',rcvStr)<>0  then
 //         begin
            //s:=copy(rcvStr,0,pos('#',rcvStr)-1);
            Memo2.Lines.Add(rcvStr);
            //Delete(rcvStr ,0,pos('#',rcvStr));
 //         end;
  except
  end;
 
Так уж напрямую из порта в мемо
djtorian
Offline
Зарегистрирован: 14.05.2017

тоже самое, я вот думаю, может я что-то пропустил и делфи не понимает, что читать?

T.Rook
Offline
Зарегистрирован: 05.03.2016

В качестве бреда, пслушайте в DELPHI   разные порты

 

strarbit
Offline
Зарегистрирован: 12.06.2016
 
Ваще, у компонета есть метод чтения принятых данных
fComPort1DataRecived. Правильно считывать данные из этого метода.
Настройку компонента делай в одном методе, не в таймере.
djtorian
Offline
Зарегистрирован: 14.05.2017

чтобы я не делал - ничего не меняется

kalapanga
Offline
Зарегистрирован: 23.10.2016

djtorian пишет:

чтобы я не делал - ничего не меняется

А что не меняется-то? Сейчас какое состояние? Программа не получает из порта ни одного байта, программа получает непонятный мусор, ещё что-то?

Вы когда со своей программой экспериментируете Arduino IDE закрываете? Это во-первых. Больше никто не может ком-порт держать? А во-вторых, сделайте по человечески, в той теме есть же работающий пример! Уберите всякие таймеры, оставьте только обработчик события DataRecived. И смотрите событие-то происходит или нет. Если происходит, разбирайтесь, что там за данные пришли. Если не происходит, то что-то всё-таки у компонента порта недонастроили скорее всего.

Araris
Offline
Зарегистрирован: 09.11.2012

kalapanga пишет:

Вы когда со своей программой экспериментируете Arduino IDE закрываете? 

О, и я об этот косяк в своё время шишку набил.

djtorian
Offline
Зарегистрирован: 14.05.2017
Вот такой вид теперь имеет код.
в мемо добавляет просто путые строки каждую секунду. еще я заметил что когда я открываю программу в делфи, которую сделал, загорается и гаснет светодиод на ардуино(он постоянно моргает, так как передает данные, но то загорается ярче), то есть с ком портом как-то общается, но не может прочитать данные. Скажите, может скорость обмена не такая или еще что-то не так?
 
procedure TForm1.AfComPort1DataRecived(Sender: TObject; Count: Integer);
var  s: string;
begin
  AfComPort1.ComNumber := 3;
AfComPort1.Open;
  AfComPort1.BaudRate:=br9600;
rcvStr := AfComPort1.ReadString;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Memo1.Lines.Add(rcvStr);
end;
djtorian
Offline
Зарегистрирован: 14.05.2017

закрываю и ничего не меняется

kalapanga
Offline
Зарегистрирован: 23.10.2016

AfComPort1.ComNumber := 3;

AfComPort1.Open;

AfComPort1.BaudRate:=br9600;

Настройке и открытию порта в обработчике делать нечего. Вынесите в начало программы. В какой-нибудь OnShow главной формы. Ну или по кнопке делайте.

И самое-то главное Вы не написали - событие-то происходит или нет?

 

Araris
Offline
Зарегистрирован: 09.11.2012
djtorian
Offline
Зарегистрирован: 14.05.2017

сделал как вы сказали, ничего не меняется. событие происходит, в мемо добавляются пустые строки... может у меня что-то с библиотекой AsyncFreeD что-то не так. потому что она не хотела запускаться и я ее установил вручную.

kalapanga
Offline
Зарегистрирован: 23.10.2016

Возможно и с компонентом что не так, они большинство под древние версии Дельфи писаны. Можно что-то другое поискать. Заведомо к Вашей Дельфи подходящее (какая кстати версия?).

Если с тем что есть дальше поковыряться, то в обработчике события посмотрите чему равен Count - это число принятых байт. Ну и можно прочитать эти байты методом ReadData, черт знает, почему оно как строка не читается.

djtorian
Offline
Зарегистрирован: 14.05.2017

скажите, а как работает процедура procedure TForm1.AfComPort1DataRecived(Sender: TObject;  Count: Integer);

она сама по себе будет обновлять значения ком порта, как таймер?

djtorian
Offline
Зарегистрирован: 14.05.2017

7 версия у меня, должно работать

kalapanga
Offline
Зарегистрирован: 23.10.2016

DataRecived это событие (Event). Оно возникает, когда в порту есть принятые данные. Count - это количество принятых байт.

djtorian
Offline
Зарегистрирован: 14.05.2017

Спасибо. я многое узнал.но все же могу понять, что не так. у меня в данном случае просто путое место вылазит

 s := AfComPort1.ReadString;
 Memo2.Lines.Add(s);
 
пишет такое s=''
пробовал запустить без ардуино - делфи выдает ошибку компорта3, то есть все-таки обмен какой-то есть
kalapanga
Offline
Зарегистрирован: 23.10.2016

Вот ссылка на архив: https://cloud.mail.ru/public/4XCo/gfagkLxqj

В архиве библиотека ComPort, которая мне показалась наиболее беспроблемной. Под моей Delphi XE3 установилась без единого предупреждения. Под 7 там тоже пакеты есть. Вот с этой библиотекой у меня обмен с ардуино заработал сразу. На ардуино использовался самый примитивный скетч с потенциометром. Скетч в архиве тоже есть. На компе использовалась программка из примеров к библиотеке: \ComPort\Examples\delphi\ComExample.dpr. 

Устанавливаем компонент. Компилируем пример. Запускаем. Кнопка Settings. Выбираем com-порт, скорость, остальное у меня уже как надо стояло. Кнопка Open. Нажимаем её и видим как в окошке поехали числа. Ардуино разумеется уже был загружен нашим скетчем и подключен.

В этом проекте делается всё то же самое, что мы здесь пробовали. Только событие у компонента по-другому называется. Но суть вся та же.

Попробуйте, должно работать

SAlexander59
Offline
Зарегистрирован: 21.04.2017

kalapanga пишет:

Вот ссылка на архив: https://cloud.mail.ru/public/4XCo/gfagkLxqj

В архиве библиотека ComPort, которая мне показалась наиболее беспроблемной. Под моей Delphi XE3 установилась без единого предупреждения. Под 7 там тоже пакеты есть. Вот с этой библиотекой у меня обмен с ардуино заработал сразу. На ардуино использовался самый примитивный скетч с потенциометром. Скетч в архиве тоже есть. На компе использовалась программка из примеров к библиотеке: \ComPort\Examples\delphi\ComExample.dpr. 

Устанавливаем компонент. Компилируем пример. Запускаем. Кнопка Settings. Выбираем com-порт, скорость, остальное у меня уже как надо стояло. Кнопка Open. Нажимаем её и видим как в окошке поехали числа. Ардуино разумеется уже был загружен нашим скетчем и подключен.

В этом проекте делается всё то же самое, что мы здесь пробовали. Только событие у компонента по-другому называется. Но суть вся та же.

Попробуйте, должно работать

Какой файл надо открыть из меню Open File для начала? У меня это только файлы DsgnCPortDXE.dpk или DsgnCPortDXE.dproj. Именно они дают после своей загрузки нужный для продолжения (компиляции) диалог. Однако в ходе компиляции DsgnCPortDXE.bpl выдается ошибка:

Compiling DsgnCPortDXE.dproj (Debug, Win32)
dcc32 command line for "DsgnCPortDXE.dpk"
  c:\program files\embarcadero\studio\19.0\bin\dcc32.exe -$O- -$W+ -$J+ -$Y- --no-config -M -Q -Z -TX.bpl
  -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;
  DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -I"c:\program files\embarcadero\studio\19.0\lib\Win32\release";
  C:\Users\Alexander\Documents\Embarcadero\Studio\19.0\Imports;"c:\program files\embarcadero\studio\19.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp;"c:\program files\embarcadero\studio\19.0\include";C:\TurboPowerAsyncPro_2010_10_13\source;
  "C:\Program Files\AsyncPro\packages";"C:\Program Files\Embarcadero\Studio\19.0\bin\ComPort\Source";"C:\Program
  Files\Embarcadero\Studio\19.0\bin\ComPort\Source\_recovery" -LEC:\Users\Public\Documents\Embarcadero\Studio\19.0\Bpl
  -LNC:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp -NSSystem.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;
  Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi; -O"c:\program files\embarcadero\studio\19.0\lib\Win32\release";
  C:\Users\Alexander\Documents\Embarcadero\Studio\19.0\Imports;"c:\program files\embarcadero\studio\19.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp;"c:\program files\embarcadero\studio\19.0\include";C:\TurboPowerAsyncPro_2010_10_13\source;
  "C:\Program Files\AsyncPro\packages";"C:\Program Files\Embarcadero\Studio\19.0\bin\ComPort\Source";"C:\Program
  Files\Embarcadero\Studio\19.0\bin\ComPort\Source\_recovery" -R"c:\program files\embarcadero\studio\19.0\lib\Win32\release";
  C:\Users\Alexander\Documents\Embarcadero\Studio\19.0\Imports;"c:\program files\embarcadero\studio\19.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp;"c:\program files\embarcadero\studio\19.0\include";C:\TurboPowerAsyncPro_2010_10_13\source;
  "C:\Program Files\AsyncPro\packages";"C:\Program Files\Embarcadero\Studio\19.0\bin\ComPort\Source";"C:\Program
  Files\Embarcadero\Studio\19.0\bin\ComPort\Source\_recovery" -U"c:\program files\embarcadero\studio\19.0\lib\Win32\release";
  C:\Users\Alexander\Documents\Embarcadero\Studio\19.0\Imports;"c:\program files\embarcadero\studio\19.0\Imports";
  C:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp;"c:\program files\embarcadero\studio\19.0\include";C:\TurboPowerAsyncPro_2010_10_13\source;
  "C:\Program Files\AsyncPro\packages";"C:\Program Files\Embarcadero\Studio\19.0\bin\ComPort\Source";"C:\Program
  Files\Embarcadero\Studio\19.0\bin\ComPort\Source\_recovery" -K00400000 --description:"ComPort Library Delphi XE"
  -NBC:\Users\Public\Documents\Embarcadero\Studio\19.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win32   DsgnCPortDXE.dpk   
[dcc32 Fatal Error] CPortLibDXE.dpk(1): E2225 Never-build package 'CPortLibDXE' must be recompiled
[dcc32 Fatal Error] DsgnCPortDXE.dpk(34): E2202 Required package 'CPortLibDXE' not found
Failed
Elapsed time: 00:00:00.2

Хотя путь к папке с фйалами прописан в настройках Embarcodero Delphi.

Речь как я понимаю идет о требуемом для компиляции файле CPortLibDXE.dcp

рисунок

Спрашивается где его взять - этот файл - если в установочном пакете, скачанном мною его нет? На всякий случай обшарил весь комп но такого файла на нем просто нет. Что спрашивается делать? Повторяю - установка библиотеки ComPort идет на Embarcodero Delphi Starter -  Embarcadero® Delphi 10.2 Version 25.0.26309.314

SAlexander59
Offline
Зарегистрирован: 21.04.2017

ПРОБЛЕМА РЕШЕНА С УСТАНОВКОЙ БИБЛИОТЕКИ ComPort на Embarcodero Delphi Starter v. 10.2

0. размещаем папку с разархивированной библиотекой в каком то месте - например - C:\ComPort

1. запускаем IDE Embarcodero Delphi Starter 10.2

2. Tools->Options->Library->в окне пути к библиотеке добавляем пути к подпапкам Sources и DCU, находящимся в папке C:\ComPort.

3. File->Open открываем файл DsgnCPortDXE.dsk, находящийся в папке C:\ComPort\Sources - справа в окне IDE появится окно:

4. на щелкаем правой кнопкой мышки на файле CPortLibDXE.dcp и в меню указываем - remove from project (удалить из проекта)

5. щелкаем правой кнопкой мышки на файле DsgnCPortDXE.bpl и в появившемся меню указываем в начале Compile (сомпилировать), а затем после успешной компиляции опять щелкаем правой кнопкой мышки на файле DsgnCPortDXE.bpl и в появившемся меню указываем Install (установить).

6. File -> Close All -> сохранить изменения

7. создаем новый проект и в инспекторе объектов уже видим установленный пакет с компонентами

можно начинать работать!!!

kalapanga
Offline
Зарегистрирован: 23.10.2016

Какой диалог? Всё устанавливается как обычно. Сначала компилируется рантайм пакет, потом компилируется и устанавливается дизайнтайм пакет. Если уж совсем по шагам, то так:

- Распаковать архив

- В Library path добавить путь к папке Source. Именно к Source.

- Открыть CPortLibDXE.dpk Компилировать (Compile)

- Открыть DsgnCPortDXE.dpk Установить (Install) Пакет скомпилируется и установится.

Если что-то предложат сохранить - не надо. Всё.

Под рукой десятки нет, проверить не могу. Но уж на отсутствие файлов оно точно ругаться не должно.

Ну, Вы уже всё установили, смотрю. Хоть и какими-то окольными путями. Главное результат :)

SAlexander59
Offline
Зарегистрирован: 21.04.2017

kalapanga пишет:

Какой диалог? Всё устанавливается как обычно. Сначала компилируется рантайм пакет, потом компилируется и устанавливается дизайнтайм пакет. Если уж совсем по шагам, то так:

- Распаковать архив

- В Library path добавить путь к папке Source. Именно к Source.

- Открыть CPortLibDXE.dpk Компилировать (Compile)

- Открыть DsgnCPortDXE.dpk Установить (Install) Пакет скомпилируется и установится.

Если что-то предложат сохранить - не надо. Всё.

Под рукой десятки нет, проверить не могу. Но уж на отсутствие файлов оно точно ругаться не должно.

Надо указывать путь к обеим указанным мною папкам - я это уже проверил. При указании пути только к папке Source вылезет ошибка. По крайней мере на данной версии Delphi. И перед компиляцией НЕОБХОДИМО удалить указанный мною файл - иначе вылезет ошибка - я в этом уже лично убедился - да и в сети тоже самое люди пишут (это касается указанной версии Delphi, а так же 5-7-й). Кто сомневается может проверить. Насчет сохранения спорить не стану - не проверял

SAlexander59
Offline
Зарегистрирован: 21.04.2017

kalapanga пишет:

Какой диалог? Всё устанавливается как обычно. Сначала компилируется рантайм пакет, потом компилируется и устанавливается дизайнтайм пакет. Если уж совсем по шагам, то так:

- Распаковать архив

- В Library path добавить путь к папке Source. Именно к Source.

- Открыть CPortLibDXE.dpk Компилировать (Compile)

- Открыть DsgnCPortDXE.dpk Установить (Install) Пакет скомпилируется и установится.

Если что-то предложат сохранить - не надо. Всё.

Под рукой десятки нет, проверить не могу. Но уж на отсутствие файлов оно точно ругаться не должно.

Надо указывать путь к обеим указанным мною папкам - я это уже проверил. При указании пути только к папке Source вылезет ошибка (http://www.tutorialdelphi.com/2015/04/Install-Component-Comport-Delphi-XE5-XE6-XE7.html). По крайней мере на данной версии Delphi. И перед компиляцией НЕОБХОДИМО удалить указанный мною файл - иначе вылезет ошибка - я в этом уже лично убедился - да и в сети тоже самое люди пишут (это касается указанной версии Delphi, а так же 5-7-й) - http://www.tutorialdelphi.com/2015/04/Install-Component-Comport-Delphi-XE5-XE6-XE7.html. Кто сомневается может проверить. Насчет сохранения спорить не стану - не проверял

kalapanga
Offline
Зарегистрирован: 23.10.2016

SAlexander59 пишет:

Надо указывать путь к обеим указанным мною папкам - я это уже проверил. При указании пути только к папке Source вылезет ошибка (http://www.tutorialdelphi.com/2015/04/Install-Component-Comport-Delphi-XE5-XE6-XE7.html). По крайней мере на данной версии Delphi. И перед компиляцией НЕОБХОДИМО удалить указанный мною файл - иначе вылезет ошибка - я в этом уже лично убедился - да и в сети тоже самое люди пишут (это касается указанной версии Delphi, а так же 5-7-й) - http://www.tutorialdelphi.com/2015/04/Install-Component-Comport-Delphi-XE5-XE6-XE7.html. Кто сомневается может проверить. Насчет сохранения спорить не стану - не проверял

Я сомневаюсь, и я проверил. Свежеустановленная Delphi 10.2 Starter - достаточно всё сделать по выше описанным мной понятным, логичным и простым шагам, без всякого шаманства. Это я не в претензию Вам, а только в порядке информации - возможно пригодится в будущем. Главное, что у Вас всё получилось. 

SAlexander59
Offline
Зарегистрирован: 21.04.2017

kalapanga пишет:

Я сомневаюсь, и я проверил. Свежеустановленная Delphi 10.2 Starter - достаточно всё сделать по выше описанным мной понятным, логичным и простым шагам, без всякого шаманства. Это я не в претензию Вам, а только в порядке информации - возможно пригодится в будущем. Главное, что у Вас всё получилось. 

Возможно, что дело тут связано с различными операционными системами на наших компьютерах - если это конечно так. Или в чем то другом. Но я и другие люди действительно сталкивались с такими проблемами при установке библиотеки. Думаю это надо иметь в виду как один из вариантов при установке библиотеки.

Iven
Offline
Зарегистрирован: 08.11.2018

Сумничал МОЛОДЕЦ! Автор выше опубликованного поста просто гений!!! Несколько дней бъюсь с ошибкой при компеляции, уже 100 вариантов библиотек смени, не помогает!!!! Вы бы сперва вникли в суть проблемы, а потом отвечали. И без вас был понятен алгорит стандартной установки, но он ни как не получался, несколько раз переустановил даже делфи, чуть испанский с малазийским не выучил. ОГРОМНОЕ СПАСИБО АВТОРУ ОПУБЛИКОВАВШЕМУ РЕШЕНИЕ ДАННОЙ ПРОБЛЕМЫ К Р А СА Ч И К !!!

Версия WINDOWS 10 КОРПАРАТИВНАЯ Х64

Версия ДЕЛФИ 10.2

(Сори если кого огорчи просто эмоции от радости)

Iven
Offline
Зарегистрирован: 08.11.2018

Ууууррррраааааа! Огромное ВАМ человеческое спасибо !!! Благодаря вам все заработало!!!