Article View: pl.comp.lang.delphi
Article #346296Re: Delphi XE2 co wywołało funcję
From: wloochacz
Date: Thu, 01 Feb 2018 09:39
Date: Thu, 01 Feb 2018 09:39
52 lines
3177 bytes
3177 bytes
W dniu 2018-01-30 o 17:51, Karol pisze:
> Nie do końca o to chodziło
> ponieważ
> try
> //do something
> raise Exception.Create('Something bad happened...');
> except
> on e: exception do
> begin
> //rollback a transaction or whatever i need to do here
> MessageDlg('An error has occurred!' + #13#10 + e.Message + #13#10
> + 'Here is the stack trace:' + #13#10 + e.StackTrace, mtError, [mbOK], 0);
> end; //except
> end; //try-except
>
> e.StackTrace jest puste ---> '' .
Dokładnie o to chodziło, a skoro stack jest pusty, to źle go używasz.
> W zasadzie potrzebuję uchwyt do załadowanej dll lub BPL.
> Pytanie wywoływana funkcja działa w "przestrzeni" w sensie modułu
> uruchamianego bpl/dll czy EXE?
> Inaczej czy wyszukiwana funkcja działa jako część bpl/dll czy exe?
Tak by design, to jest tak...
dla BPL w kontekście EXE.
dla DLL w kontekście DLL.
> Potrzebuję to do tego.
> Plugin może poprosić o utworzenie tabeli w bazie ale nazwa tabeli musi
> być poprzedzona nazwą modułu, aby nie było dostępu do tabel o
> ograniczonym dostępie dla pluginów.
> A może można to lepiej zrealizować?
Tak, może i lepiej można... Ale, albo idziesz w stronę konwencji (to co
opisałeś z nazwą modułu dla tabeli), ale to trzeba naprawdę dobrze
zaprojektować.
Albo idziesz w stronę konfiguracji, czyli jakiś metadanych określających
co jak i dlaczego.
A tak poza tym, to nie podoba mi się ten pomysł zakładania tabeli dla
modułu przez moduł na podstawie jego nazwy...
To jest, imo, zakręcony temat, no chyba że te Twoje moduły nie posiadają
zależności do innych modułów - to wtedy i tylko wtedy, może...
Ja to robię inaczej; konfiguracja systemu jest elastyczna, ale struktura
bazy danych jest dostarczona cała w pełnej konfiguracji.
Jeżeli dany moduł nie istnieje w danej konfiguracji, to po prostu nie
używa jakiś tam obiektów w bazie danych.
A że baza ma tabele, które są puste i nieużywane?
I co z tego?
--
wloochacz
Technical Details
Message-ID:
<5a72e040$0$576$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<5a70803f$0$694$65785112@news.neostrada.pl> <5a708df3$0$694$65785112@news.neostrada.pl> <5a70a2ad$0$604$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Delphi XE2 co wywołało funcję Newsgroups: pl.comp.lang.delphi References: <5a70803f$0$694$65785112@news.neostrada.pl> <5a708df3$0$694$65785112@news.neostrada.pl> <5a70a2ad$0$604$65785112@news.neostrada.pl> From: wloochacz <wloochacz@no.spam.gmail.com> Date: Thu, 1 Feb 2018 10:39:09 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <5a70a2ad$0$604$65785112@news.neostrada.pl> Lines: 52 Message-ID: <5a72e040$0$576$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.23.97.69 X-Trace: 1517477952 unt-rea-b-01.news.neostrada.pl 576 83.23.97.69:2432 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit