🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #345414

Re: Dynamiczne ładowanie DLL

#345414
From: stchebel
Date: Tue, 06 Dec 2016 21:33
30 lines
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-mail
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>

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