<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Zugriffsverletzung bei NMPOP3 Host]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn ich folgenden Code übersetzen lasse kommt die Fehlermeldung Zugriffsverletzung. Kann mir jemand sagen warum?<br />
Ich kenne die meldung nur wenn ich auf Speicher zugreiffen will den ich nicht reserviert hab.</p>
<pre><code class="language-cpp">#include &lt;NMsmtp.hpp&gt;
#include &lt;NMpop3.hpp&gt;
#include &lt;NMftp.hpp&gt;
#include &lt;vcl.h&gt;

TNMSMTP *NMSMTP1;
TNMPOP3 *NMPOP31;
TNMFTP *NMFTP1;
int main()
{
        NMPOP31-&gt;TimeOut = 20000;
        NMPOP31-&gt;Password = &quot;*******&quot;;
        NMPOP31-&gt;Host = &quot;**************&quot;; // Hier kommt der Fehler
        if(!NMPOP31-&gt;Connected){
                NMPOP31-&gt;Connect();
        }
        NMSMTP1-&gt;TimeOut = 20000;
        NMSMTP1-&gt;Host = &quot;***************&quot;;
        NMSMTP1-&gt;PostMessageA-&gt;FromAddress = &quot;*************&quot;;
        NMSMTP1-&gt;PostMessageA-&gt;FromName = &quot;***********&quot;;
        TStringList *Email;
        Email-&gt;Add(&quot;******************&quot;);
        NMSMTP1-&gt;PostMessageA-&gt;ToAddress = Email;
        NMSMTP1-&gt;PostMessageA-&gt;Subject = &quot;Das ist ein Test&quot;;
        TStringList *Body;
        Body-&gt;Add(&quot;Servus aus der Konsole&quot;);
        NMSMTP1-&gt;PostMessageA-&gt;Body = Body;
        if(!NMSMTP1-&gt;Connected){
                NMSMTP1-&gt;Connect();
        }
        NMSMTP1-&gt;SendMail();
        ShowMessage(&quot;Sollte gesendet haben!&quot;);
        return 0;
}
</code></pre>
<p>Bin für jede Hilfe Dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172756/zugriffsverletzung-bei-nmpop3-host</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 11:30:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172756.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Feb 2007 07:28:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 07:28:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn ich folgenden Code übersetzen lasse kommt die Fehlermeldung Zugriffsverletzung. Kann mir jemand sagen warum?<br />
Ich kenne die meldung nur wenn ich auf Speicher zugreiffen will den ich nicht reserviert hab.</p>
<pre><code class="language-cpp">#include &lt;NMsmtp.hpp&gt;
#include &lt;NMpop3.hpp&gt;
#include &lt;NMftp.hpp&gt;
#include &lt;vcl.h&gt;

TNMSMTP *NMSMTP1;
TNMPOP3 *NMPOP31;
TNMFTP *NMFTP1;
int main()
{
        NMPOP31-&gt;TimeOut = 20000;
        NMPOP31-&gt;Password = &quot;*******&quot;;
        NMPOP31-&gt;Host = &quot;**************&quot;; // Hier kommt der Fehler
        if(!NMPOP31-&gt;Connected){
                NMPOP31-&gt;Connect();
        }
        NMSMTP1-&gt;TimeOut = 20000;
        NMSMTP1-&gt;Host = &quot;***************&quot;;
        NMSMTP1-&gt;PostMessageA-&gt;FromAddress = &quot;*************&quot;;
        NMSMTP1-&gt;PostMessageA-&gt;FromName = &quot;***********&quot;;
        TStringList *Email;
        Email-&gt;Add(&quot;******************&quot;);
        NMSMTP1-&gt;PostMessageA-&gt;ToAddress = Email;
        NMSMTP1-&gt;PostMessageA-&gt;Subject = &quot;Das ist ein Test&quot;;
        TStringList *Body;
        Body-&gt;Add(&quot;Servus aus der Konsole&quot;);
        NMSMTP1-&gt;PostMessageA-&gt;Body = Body;
        if(!NMSMTP1-&gt;Connected){
                NMSMTP1-&gt;Connect();
        }
        NMSMTP1-&gt;SendMail();
        ShowMessage(&quot;Sollte gesendet haben!&quot;);
        return 0;
}
</code></pre>
<p>Bin für jede Hilfe Dankbar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224838</guid><dc:creator><![CDATA[Sascha_Thiel]]></dc:creator><pubDate>Thu, 08 Feb 2007 07:28:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 07:37:08 GMT]]></title><description><![CDATA[<p>Sascha_Thiel schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Wenn ich folgenden Code übersetzen lasse kommt die Fehlermeldung Zugriffsverletzung. Kann mir jemand sagen warum?<br />
Ich kenne die meldung nur wenn ich auf Speicher zugreiffen will den ich nicht reserviert hab.</p>
</blockquote>
<p>Und genau das ist auch hier der Fall - du hast zwar einen Zeiger <code>TNMPOP3 *NMPOP31;</code> definiert, aber der zeigt ins Nirvana, also schreiben die ganzen <code>NMPOP31-&gt;...</code> Zugriffe auf Speicher, der dir nicht gehört.</p>
<p>PS: Warum die ersten beiden Zuweisungen funktionieren? Vermutlich Glück.<br />
&quot;Undefiniertes Verhalten&quot; bedeutet nicht unbedingt sofortigen Abbruch oder SegFault - das kann auch bedeuten, daß das Programm deine Anweisungen schluckt und die Daten irgendwohin schreibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224844</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Feb 2007 07:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 08:09:46 GMT]]></title><description><![CDATA[<p>Wie muß die Deklaration dann aussehen, steh gerade voll auf dem schlauch.</p>
<p>Sorry</p>
<p>Edit: hab das sonst mit Forms gemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224852</guid><dc:creator><![CDATA[Sascha_Thiel]]></dc:creator><pubDate>Thu, 08 Feb 2007 08:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 08:15:40 GMT]]></title><description><![CDATA[<p>Entweder du definierst die Variable direkt im Datensegment (alternativ auch auf dem Stack - C++ kennt lokale Variablen, also ist es nicht nötig, alle Variablen global anzulegen ;)) oder du reservierst dir per new Heap-Speicher für die Variable:</p>
<pre><code class="language-cpp">//a:
TNMPOP3 nmPop31;
//Zugriffe gehen über nmPop31.irgendwas

//b:
TNMPOP3* nmPop31 = new TNMPOP3;
//Zugriffe gehen über nmPop31-&gt;irgendwas
</code></pre>
<p>(PS: Nur eine Stilfrage - Varaiblennamen komplett in Großbuchstaben sehen sch*** aus)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224860</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Feb 2007 08:15:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 08:27:05 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Das Prinzip hat CStoll ja schon erklärt. Allerdings lassen sich die meisten VCL-Klassen nicht auf dem Stack anlegen, so auch die hier.<br />
Da TNMPOP3 eine VCL-Komponente ist, hat sie keinen Standard-Konstruktor, sondern einen Parameter der einen Owner als Parameter benötigt. Ohne eine GUI-Form hast du aber keinen sinnvollen, also kannst du auch einfach 0 übergeben. Und natürlich must du nach dem Benutzen das angelegte Objekt wieder löschen.</p>
<pre><code class="language-cpp">TNMPOP3* nmPop31 = new TNMPOP3(0);
// benutzen
delete nmPop31;
</code></pre>
<p>Zur namensgebung : Das ist offensichtlich kopierte Code, der Name des Pointers wurde von der IDE automatisch vergeben und ist unschön. Vor allem die letzte 1 ist eine reine Zählmarkierung und unnötig.</p>
<p>Und nicht zuletzt gehört das ins Builder-Forum. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224865</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 08 Feb 2007 08:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 08:30:13 GMT]]></title><description><![CDATA[<p>OK, danke für deine Hilfe.</p>
<p>Zu den Namen, macht der Gewohnheit, bei Forms legt die IDE alle Kommponenten mit Groß Buchstaben an.</p>
<p>Edit: Danke für eure Hilfe, Sorry das ich das falsche Forum gewählt hab, hab das noch nicht so ganz raus was wo hin und so, dachte weil es ein Konsolenprogramm ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224866</guid><dc:creator><![CDATA[Sascha_Thiel]]></dc:creator><pubDate>Thu, 08 Feb 2007 08:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei NMPOP3 Host on Thu, 08 Feb 2007 14:27:15 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=403" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=2" rel="nofollow">VCL/CLX (Borland C++ Builder)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225082</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 08 Feb 2007 14:27:15 GMT</pubDate></item></channel></rss>