Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   C++ Indy 9.0.18 Probleme mit BCB 5.0 (https://www.delphipraxis.net/107762-indy-9-0-18-probleme-mit-bcb-5-0-a.html)

hmb 1. Feb 2008 19:02


Indy 9.0.18 Probleme mit BCB 5.0
 
Hallo,
ich habe nun den zweiten Anlauf hinter mir in meinem Monsterprogramm mit Indy Mails via SMTP zu senden.
Zuerst mal: "Stand alone", also in einer einfachen Anwendung mit den Komponenten TIdSMTP und TIdMessage läuft es (= Indy als solches scheint erst mal richtig Installiert und die Komponenten ordnungsgemäß zu verwenden zu sein).
Nun habe ich aber ein großes Programm. Es wird vom Anwender ein Exe-File gestartet und dieser lädt je nach angewähltem Menüpunkt die eine oder andere DLL nach. (Das funktioniert seit Jahren alles hervorragend!). Diese DLLs benutzen wiederum eine selbst geschriebene Komponente als Pool für alle möglichen Methoden und Informationen. Jetzt wollte ich das Versenden von E-Mails auch mit dieser Komponente durchführen. Leider funktionierte dies zuerst mit der 14er Version von Indy nicht und auch mit der 9.0.18 nicht.
Das Problem stellt sich so dar, dass sich das ganze Programm aufhängt sobald die zweite Dll vom Exe-File gestartet wird. Nach Debug -Versuchen habe ich herausgefunden, dass noch nicht mal der DllEntryPoint der zweiten DLL durchlaufen wird.
Das Kuriose ist, dass es alleine reicht, wenn

TIdSMTP *l_MailProtokoll = NULL;

im Code meiner Komponente auftaucht und weiter nichts damit gemacht wird, damit sich das Programm aufhängt. Der Code wird nie ausgeführt (ist aber vom Compiler fehlerfrei übersetzt und auch Bestandteil der BPL und auch nicht vom Compiler raus-optimiert).
Lasse ich die Zeile weg (!) so läuft es Fehlerfrei.
Gibt es Probleme mit der Indy-Bibliothek wenn diese in BPL s also von anderen Komponenten verwendet wird, und diese dann noch ausgerechnet von DLLs verwendet werden?
Hier noch mal die Zusammensetzung meiner BPL zur Info:
Delphi-Quellcode:
USERES("BHSBasicsPPS.res");
USEPACKAGE("vcl50.bpi");
USEUNIT("BHSBasics.cpp");
USELIB("..\..\..\apcv\ApplicationInterface.lib");
USEUNIT("basConstDef.cpp");
USEPACKAGE("Vcldb50.bpi");
USEPACKAGE("vclado50.bpi");
USELIB("C:\Programme\Borland\CBuilder5\Lib\PSDK\mapi32.lib");
USEPACKAGE("JvCoreC5R.bpi");
USEPACKAGE("Indy50.bpi");

hmb 6. Feb 2008 12:01

Re: Indy 9.0.18 Probleme mit BCB 5.0
 
:oops:
ich habs selbst gefunden...
Indy50 muss überall (DLL,BPL und EXE ) in der Package - Liste des Projektes stehen.
Anschliessend alles neu erstellen, und schon funktioniert es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz