Article View: pl.comp.lang.delphi
Article #345414Re: Dynamiczne ładowanie DLL
From: stchebel
Date: Tue, 06 Dec 2016 21:33
Date: Tue, 06 Dec 2016 21:33
30 lines
3032 bytes
3032 bytes
W dniu wtorek, 6 grudnia 2016 08:17:22 UTC+1 użytkownik kons...@wp.pl napisał:
> W dniu 05-12-2016 o 15:28, stchebel@gmail.com pisze:
> > W dniu poniedziałek, 5 grudnia 2016 15:07:35 UTC+1 użytkownik immo napisał:
> >> W dniu poniedziałek, 5 grudnia 2016 14:03:34 UTC+1 użytkownik stch...@gmail.com napisał:
> >>
> >> 1. Sprawdzaj czy w @FT_Open_Func masz adres procki z pobrany przez GetProcAddress, np:
> >> if Assigned(FT_Open_Func) then
> >> ftresult := FT_Open_Func(0,@FT_Handle)
> >> else
> >> ShowMessage('FT_Open_Func not found');
> >>
> >> 2. Zadeklaruj FT_Open_Func jako FT_Open_Func(PVDevice: integer; ftHandle: Pointer): integer; stdcall;
> >>
> >> 3. Ogólnie poczytaj o podstawach :) http://delphi.about.com/od/windowsshellapi/a/delphi-dll-loading-static-dynamic.htm
> >>
> >> pozdrawiam,
> >> Przemek O.
> >
> > Wystarczyła zmiana jaką podałeś w pkt.2 . Teraz wszystko jest OK zarówno w D6 jak i Lazarusie. Jutro podejmę próby na RPi. Serdeczne dzięki.
> >
> Nie nie starczyło, ponieważ nadal przy próbie wykorzystania i braku DLL
> dostaniesz Access Violation.
> Musisz tak jak pokazano powyżej sprawdzać czy program załadował
> procedure/funkcje inaczej znowu będzie problem.
> Dodatkowo nie sprawdzasz czy program prawidłowo załadował dll i to jest
> źródło dalszych problemów.
>
> ---
Uwaga poniekąd słuszna, ale nie zakładam takiej sytuacji żeby wymagana DLL była nieobecna. Stąd też nie widzę potrzeby sprawdzania tego programowo.
Technical Details
Message-ID:
<f3e03fd7-cb27-4a42-b82f-60aced3422eb@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin2!goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!n6no3496520qtd.0!news-out.google.com!j8ni4460qtc.0!nntp.google.com!p16no3495658qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<d4e0b6e4-835d-4acd-b39f-9badaa7abbc1@googlegroups.com> <172daa86-a77e-4076-9d48-ceef3a04d64d@googlegroups.com> <5d8b3f46-8b07-4766-80e3-26265416b29c@googlegroups.com> <o25om2$tq6$1@portraits.wsisiz.edu.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.157.46.122 with SMTP id c55mr16983789otd.60.1481060011565; Tue, 06 Dec 2016 13:33:31 -0800 (PST) X-Received: by 10.157.4.119 with SMTP id 110mr4196373otc.11.1481060011516; Tue, 06 Dec 2016 13:33:31 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin2!goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!n6no3496520qtd.0!news-out.google.com!j8ni4460qtc.0!nntp.google.com!p16no3495658qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.delphi Date: Tue, 6 Dec 2016 13:33:31 -0800 (PST) In-Reply-To: <o25om2$tq6$1@portraits.wsisiz.edu.pl> 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 References: <d4e0b6e4-835d-4acd-b39f-9badaa7abbc1@googlegroups.com> <172daa86-a77e-4076-9d48-ceef3a04d64d@googlegroups.com> <5d8b3f46-8b07-4766-80e3-26265416b29c@googlegroups.com> <o25om2$tq6$1@portraits.wsisiz.edu.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <f3e03fd7-cb27-4a42-b82f-60aced3422eb@googlegroups.com> Subject: Re: Dynamiczne ładowanie DLL From: stchebel@gmail.com Injection-Date: Tue, 06 Dec 2016 21:33:31 +0000 Lines: 43 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit