Article View: pl.comp.lang.delphi
Article #345422Jeszcze raz DLL, tym razem tylko na RPi
From: stchebel
Date: Fri, 09 Dec 2016 10:17
Date: Fri, 09 Dec 2016 10:17
67 lines
3268 bytes
3268 bytes
Witam,
Jeszcze raz dzięki za sugestie w siostrzanych wątkach Lazarus/RPi/DLL/FTDI..
Zgodnie z Waszymi sugestiami zrobiłem programik na RPi. Jak zwykle forma, na niej Button i Label. Cały program wygląda tak:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,Messages
,ComCtrls,Variants,DynLibs;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
FT_HANDLE: Dword=0;
ftresult: integer;
DLL_Handle:THandle;
FT_Open_Fun:function (PVDevice:Integer; ftHandle:Pointer ) : integer ; stdcall ;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
if Assigned(FT_Open_Fun) then
ftresult:=FT_Open_Fun(0,@FT_HANDLE)
else
ShowMessage('Dupa blada');
Label1.Caption:=IntToStr(ftresult);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DLL_Handle:=LoadLibrary('/home/pi/Lazarus_Projects/Open_Port/lib/arm-linux/libftd2xx.so.1.3.6');
Pointer(FT_Open_Fun):=GetProcAddress(DLL_Handle,'FT_Open');
end;
end.
Program działa, ale niestety zwraca mi nieprawidłową wartość z funkcji FT_Open_Fun (skojarzona z funkcją FT_Open z biblioteki). Zwraca mi wartość 2, co jest kodem błędu FT_DEVICE_NOT_FOUND.Powinno zwrócić wartość 0. Pierwsze co pomyślałem,to jest jakiś problem z moim HW. Nic podobnego, odpalam program z examples/EEPROM/read (załączony do bibliotek FTDI) i wszystko jest OK. Elegancko otwiera port i prawidłowo odczytuje zawartość EEPROM'a. Biblioteki do RPi pobieram stąd:
http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx-arm-v6-hf-1.3.6.tgz
Jest tam trochę opisów jak to zainstalować i takie tam..
Macie Koledzy jakiś pomysł?
Technical Details
Message-ID:
<9eea4c55-87ef-4f37-a515-edd26cd7e7ea@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!p16no4582155qta.1!news-out.google.com!j8ni19832qtc.0!nntp.google.com!p16no4582153qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 10.157.56.171 with SMTP id p40mr19922754otc.114.1481278644057; Fri, 09 Dec 2016 02:17:24 -0800 (PST) X-Received: by 10.157.20.197 with SMTP id r5mr5318600otr.9.1481278644011; Fri, 09 Dec 2016 02:17:24 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!p16no4582155qta.1!news-out.google.com!j8ni19832qtc.0!nntp.google.com!p16no4582153qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.delphi Date: Fri, 9 Dec 2016 02:17:23 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=185.53.155.198; posting-account=67yd9woAAAAHUu8VHyA7Js47M98NE3m3 NNTP-Posting-Host: 185.53.155.198 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9eea4c55-87ef-4f37-a515-edd26cd7e7ea@googlegroups.com> Subject: Jeszcze raz DLL, tym razem tylko na RPi From: stchebel@gmail.com Injection-Date: Fri, 09 Dec 2016 10:17:24 +0000 Lines: 78 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit