<?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[XLL in Visual Studio C++ erstellen klappt nicht]]></title><description><![CDATA[<p>Hi ihr Experten,</p>
<p>ich versuch gerade folgendes Tutorial mit Visual Studio 2008 ExpressEdition:<br />
<a href="http://support.microsoft.com/kb/178474/en-us" rel="nofollow">http://support.microsoft.com/kb/178474/en-us</a></p>
<p>Dort wird erklärt, wie man eine XLL erstellt. Aber ich finde die Anleitung nicht besonders gut und mein nachgecodestes Beispiel kompiliert nicht, weiß gar nicht wo ich anfangen soll... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Kann ich mein Projekt und Screenshots hier irgendwie anhängen?</p>
<p>So bin ich vorgegangen: Habe die vier Dateien <em>Xlcall.h, Framewrk.h, Framewrk.c, Xlcall32.lib</em> in mein Projektverzeichnis kopiert (also da wo auch Anewxll.sln liegt). Framewrk.c habe ich in eine cpp umbenannt.</p>
<p><strong>Projektmappen-Explorer</strong> sieht so aus</p>
<pre><code>Anewxll
|- Headerdateien
|--  framewrk.h
|- Quelldateien
|--  Anewxll.cpp
|--  framewrk.cpp
|--  Anewxll.def
</code></pre>
<p>Die ganzen includes aus dem Tutorial (Schritt 5-8) hab ich gemacht.</p>
<p>Unter <em>Projekt-&gt;Eigenschaften-&gt;Linker-&gt;Eingabe-&gt;Zusätzliche Abhängigkeiten</em> habe ich händisch XLCALL32.LIB eingetragen.</p>
<p>Dann habe ich in der <strong>Anewxll.def</strong> folgendes erstellt</p>
<pre><code>LIBRARY Anewxll
EXPORTS
	xlAutoOpen
	xlAutoClose
	xlAddInManagerInfo
	MyMotd
	MyFunc
</code></pre>
<p>Anewxll.cpp</p>
<pre><code>#include &quot;xlcall.h&quot;
#include &quot;framewrk.h&quot;

// AB HIER KOPIERTER CODE AUS TUTORIAL
//================================================================
      // Commonly used global variables
      int err;
      char buf[8192];
      char txt[8192];

      // Function registering table
      int nFuncs;

      // proc, type_text, function_text, arg, macro_type, category,
      // shortcut_text, help_topic, function_help
      static LPSTR func[][9] = {
      {&quot; MyFunc&quot;, &quot; JJJ&quot;, &quot; MyFunc&quot;, &quot; &quot;, &quot; 1&quot;, &quot; MyCat&quot;, &quot; &quot;, &quot; &quot;, &quot; &quot;},
      {&quot; MyMotd&quot;, &quot; I&quot;, &quot; MyMotd&quot;, &quot; &quot;, &quot; 1&quot;, &quot; MyCat&quot;, &quot; &quot;, &quot; &quot;, &quot; &quot;},
      {0,0,0,0, 0, 0, 0}
      };

      // Menu table
      int nMenuItems;

      static LPSTR menu[][5] = {
      {&quot; &amp;MyMenu&quot;, &quot; &quot;, &quot; &quot;, &quot; Joe's Xll menu!!!&quot;, &quot; &quot;},
      {&quot; M.O.T.D.&quot;,&quot; MyMotd&quot;, &quot; &quot;, &quot; Message of the Day!&quot;, &quot; &quot;},
      {0, 0, 0, 0, 0}
      };

      // Initialization routine
      BOOL __stdcall xlAutoOpen(void) {
         AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

         // DEBUG output to indicate when called
         AfxMessageBox(&quot;xlAutoOpen() called!&quot;, MB_SETFOREGROUND);

         int i, j;

         // Get XLL file name
         static XLOPER xDll;
         Excel(xlGetName, &amp;xDll, 0);

         // Prefix strengths with their length &amp; count items
         // Note the framework's TempStr() function prefixes the
         // lengths anyway, but this is for other code that might
         // use the arrays
         for(nFuncs=0;     func[nFuncs][0];     nFuncs++) {
             for(i=0; i&lt;9; i++) {
                 func[nFuncs][i][0]     = (BYTE) strlen(func[nFuncs][i]+1);
             }

         }

         for(nMenuItems=0; menu[nMenuItems][0]; nMenuItems++) {
             for(i=0; i&lt;5; i++) {
             menu[nMenuItems][i][0] = (BYTE) strlen(menu[nMenuItems][i]+1);
             }
         }

         // Loop through the function list, and register the functions
         for(i=0; i&lt;nFuncs; i++) {

            // Register a function
            err = Excel(xlfRegister, 0, 9, (LPXLOPER)&amp;xDll,
               (LPXLOPER)TempStr(func[i][0]),
               (LPXLOPER)TempStr(func[i][1]),
               (LPXLOPER)TempStr(func[i][2]),
               (LPXLOPER)TempStr(func[i][3]),
               (LPXLOPER)TempStr(func[i][4]),
               (LPXLOPER)TempStr(func[i][5]),
               (LPXLOPER)TempStr(func[i][6]),
               (LPXLOPER)TempStr(func[i][7]),
               (LPXLOPER)TempStr(func[i][8])
               );

            if(err != xlretSuccess) {
             sprintf(buf, &quot;xlfRegister for function %d, err = %d&quot;, i, err);
             AfxMessageBox(buf, MB_SETFOREGROUND);
            }
         }

         // Free XLL file name from the xlGetName call made earlier
         Excel(xlFree, 0, 1, (LPXLOPER)&amp;xDll);

         // Menu support section
         static XLOPER xMenu;
         static XLOPER xMenuList[10*5];
         ASSERT(nMenuItems&lt; 10);

         // Build menu
         xMenu.xltype            = xltypeMulti;
         xMenu.val.array.lparray = &amp;xMenuList[0];
         xMenu.val.array.rows    = nMenuItems;
         xMenu.val.array.columns = 5;

         for(i=0; i&lt;nMenuItems; i++) {
             for(j=0; j&lt;5; j++) {
                 xMenuList[j+i*5].xltype  = xltypeStr;
                 xMenuList[j+i*5].val.str = menu[i][j];
             }
         }

         // Add menu
        Excel(xlfAddMenu,0,3,TempNum(1),(LPXLOPER)&amp;xMenu,TempStr(&quot; Help&quot;));

         // Finished
         return 1;
      }

      // Cleanup routine
      BOOL __stdcall xlAutoClose(void) {
         ::MessageBox(NULL, &quot;xlAutoClose()&quot;, &quot;Debug&quot;, MB_SETFOREGROUND );

         // Delete menu
         Excel(xlfDeleteMenu, 0, 2, TempNum(1), TempStr(&quot; MyMenu&quot;));

         return 1;
      }

      // Support for descriptive information about the add-in(s)
      // You can add a new customized title for the user, but
      // unfortunately, only an add-in written in Microsoft Visual Basic
      // can add a description string.
      LPXLOPER _stdcall xlAddInManagerInfo(LPXLOPER xAction) {
         static XLOPER xInfo, xIntAction;

         // Find out what action must be taken
         Excel(xlCoerce, &amp;xIntAction, 2, xAction, TempInt(xltypeInt));

         // DEBUG output to indicate when called
         sprintf(buf, &quot;xlAddInManagerInfo(%ld)&quot;, (long)xIntAction.val.w);
         ::MessageBox(NULL, &quot;xlAddInManagerInfo()&quot;, &quot;Debug&quot;,
             MB_SETFOREGROUND );

         // Set title if asked
         if(xIntAction.val.w == 1) {
             xInfo.xltype = xltypeStr;
             xInfo.val.str = &quot; My Add-in!!!!&quot;;
             xInfo.val.str[0] = (char)strlen(&amp;xInfo.val.str[1]);
         }
         else {
             xInfo.xltype = xltypeErr;
             xInfo.val.err = xlerrValue;
         }

         return (LPXLOPER)&amp;xInfo;
      }

        short __stdcall MyMotd(void) {
         char *name[] = {
            &quot;Rebekah&quot;,
            &quot;Brent&quot;,
            &quot;John&quot;,
            &quot;Joseph&quot;,
            &quot;Robert&quot;,
            &quot;Sara&quot;,
            0
         };
         char *quote[] = {
            &quot;An apple a day, keeps the doctor away!&quot;,
            &quot;Carpe Diem: Seize the Day!&quot;,
            &quot;What you dare to dream, dare to do!&quot;,
            &quot;I think, therefore I am.&quot;,
            &quot;A place for everything, and everything in its place.&quot;,
            &quot;Home is where the heart is.&quot;,

            0
         };

         int nNames, nQuotes;

         for(nNames=0; name[nNames]; nNames++);
         for(nQuotes=0; quote[nQuotes]; nQuotes++);

         sprintf(buf, &quot;%s says '%s'&quot;, name[rand()%nNames],
            quote[rand()%nQuotes]);
         ::MessageBox(NULL, buf, &quot;XLL MOTD&quot;, MB_SETFOREGROUND );

         return 0;
      }

      // Example function that returns the product of its two parameters
      long __stdcall MyFunc(long parm1, long parm2) {
       sprintf(buf, &quot;You sent %ld and %ld to MyFunc()!&quot;, parm1, parm2);
       ::MessageBox(NULL, buf, &quot;MyFunc() in Anewxll!!!&quot;, MB_SETFOREGROUND);

       return parm1 * parm2;
      }
      //=================================================================
</code></pre>
<p>framewrk.h und framewrk.cpp sind ja einfach aus dem Microsoft Excel 97 Developer's Kit, die include Anweisungen habe ich wie im Tutorial angepasst.</p>
<p>Wenn ich alles nun kompiliere kommt folgende Meldung</p>
<blockquote>
<p>visual studio 2008\projects\anewxll\xlcall.h(64) : error C2628: 'WORD' gefolgt von 'bool' unzulässig (Semikolon ';' vergessen?)</p>
</blockquote>
<p>Weiß jemand Rat, kommt mir so vor, als ob ich vllt noch was in den Projekteinstellungen machen müsste, oder die Projektstruktur falsch ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Kennt jemand vllt ein ähnliches, aber Anfängerfreundliches Tutorial für Visual Studio 2008 Express Edition?</p>
<p>Lg<br />
Telekinese</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320326/xll-in-visual-studio-c-erstellen-klappt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 02:46:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320326.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Sep 2013 15:41:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Tue, 24 Sep 2013 16:10:30 GMT]]></title><description><![CDATA[<p>Hi ihr Experten,</p>
<p>ich versuch gerade folgendes Tutorial mit Visual Studio 2008 ExpressEdition:<br />
<a href="http://support.microsoft.com/kb/178474/en-us" rel="nofollow">http://support.microsoft.com/kb/178474/en-us</a></p>
<p>Dort wird erklärt, wie man eine XLL erstellt. Aber ich finde die Anleitung nicht besonders gut und mein nachgecodestes Beispiel kompiliert nicht, weiß gar nicht wo ich anfangen soll... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Kann ich mein Projekt und Screenshots hier irgendwie anhängen?</p>
<p>So bin ich vorgegangen: Habe die vier Dateien <em>Xlcall.h, Framewrk.h, Framewrk.c, Xlcall32.lib</em> in mein Projektverzeichnis kopiert (also da wo auch Anewxll.sln liegt). Framewrk.c habe ich in eine cpp umbenannt.</p>
<p><strong>Projektmappen-Explorer</strong> sieht so aus</p>
<pre><code>Anewxll
|- Headerdateien
|--  framewrk.h
|- Quelldateien
|--  Anewxll.cpp
|--  framewrk.cpp
|--  Anewxll.def
</code></pre>
<p>Die ganzen includes aus dem Tutorial (Schritt 5-8) hab ich gemacht.</p>
<p>Unter <em>Projekt-&gt;Eigenschaften-&gt;Linker-&gt;Eingabe-&gt;Zusätzliche Abhängigkeiten</em> habe ich händisch XLCALL32.LIB eingetragen.</p>
<p>Dann habe ich in der <strong>Anewxll.def</strong> folgendes erstellt</p>
<pre><code>LIBRARY Anewxll
EXPORTS
	xlAutoOpen
	xlAutoClose
	xlAddInManagerInfo
	MyMotd
	MyFunc
</code></pre>
<p>Anewxll.cpp</p>
<pre><code>#include &quot;xlcall.h&quot;
#include &quot;framewrk.h&quot;

// AB HIER KOPIERTER CODE AUS TUTORIAL
//================================================================
      // Commonly used global variables
      int err;
      char buf[8192];
      char txt[8192];

      // Function registering table
      int nFuncs;

      // proc, type_text, function_text, arg, macro_type, category,
      // shortcut_text, help_topic, function_help
      static LPSTR func[][9] = {
      {&quot; MyFunc&quot;, &quot; JJJ&quot;, &quot; MyFunc&quot;, &quot; &quot;, &quot; 1&quot;, &quot; MyCat&quot;, &quot; &quot;, &quot; &quot;, &quot; &quot;},
      {&quot; MyMotd&quot;, &quot; I&quot;, &quot; MyMotd&quot;, &quot; &quot;, &quot; 1&quot;, &quot; MyCat&quot;, &quot; &quot;, &quot; &quot;, &quot; &quot;},
      {0,0,0,0, 0, 0, 0}
      };

      // Menu table
      int nMenuItems;

      static LPSTR menu[][5] = {
      {&quot; &amp;MyMenu&quot;, &quot; &quot;, &quot; &quot;, &quot; Joe's Xll menu!!!&quot;, &quot; &quot;},
      {&quot; M.O.T.D.&quot;,&quot; MyMotd&quot;, &quot; &quot;, &quot; Message of the Day!&quot;, &quot; &quot;},
      {0, 0, 0, 0, 0}
      };

      // Initialization routine
      BOOL __stdcall xlAutoOpen(void) {
         AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

         // DEBUG output to indicate when called
         AfxMessageBox(&quot;xlAutoOpen() called!&quot;, MB_SETFOREGROUND);

         int i, j;

         // Get XLL file name
         static XLOPER xDll;
         Excel(xlGetName, &amp;xDll, 0);

         // Prefix strengths with their length &amp; count items
         // Note the framework's TempStr() function prefixes the
         // lengths anyway, but this is for other code that might
         // use the arrays
         for(nFuncs=0;     func[nFuncs][0];     nFuncs++) {
             for(i=0; i&lt;9; i++) {
                 func[nFuncs][i][0]     = (BYTE) strlen(func[nFuncs][i]+1);
             }

         }

         for(nMenuItems=0; menu[nMenuItems][0]; nMenuItems++) {
             for(i=0; i&lt;5; i++) {
             menu[nMenuItems][i][0] = (BYTE) strlen(menu[nMenuItems][i]+1);
             }
         }

         // Loop through the function list, and register the functions
         for(i=0; i&lt;nFuncs; i++) {

            // Register a function
            err = Excel(xlfRegister, 0, 9, (LPXLOPER)&amp;xDll,
               (LPXLOPER)TempStr(func[i][0]),
               (LPXLOPER)TempStr(func[i][1]),
               (LPXLOPER)TempStr(func[i][2]),
               (LPXLOPER)TempStr(func[i][3]),
               (LPXLOPER)TempStr(func[i][4]),
               (LPXLOPER)TempStr(func[i][5]),
               (LPXLOPER)TempStr(func[i][6]),
               (LPXLOPER)TempStr(func[i][7]),
               (LPXLOPER)TempStr(func[i][8])
               );

            if(err != xlretSuccess) {
             sprintf(buf, &quot;xlfRegister for function %d, err = %d&quot;, i, err);
             AfxMessageBox(buf, MB_SETFOREGROUND);
            }
         }

         // Free XLL file name from the xlGetName call made earlier
         Excel(xlFree, 0, 1, (LPXLOPER)&amp;xDll);

         // Menu support section
         static XLOPER xMenu;
         static XLOPER xMenuList[10*5];
         ASSERT(nMenuItems&lt; 10);

         // Build menu
         xMenu.xltype            = xltypeMulti;
         xMenu.val.array.lparray = &amp;xMenuList[0];
         xMenu.val.array.rows    = nMenuItems;
         xMenu.val.array.columns = 5;

         for(i=0; i&lt;nMenuItems; i++) {
             for(j=0; j&lt;5; j++) {
                 xMenuList[j+i*5].xltype  = xltypeStr;
                 xMenuList[j+i*5].val.str = menu[i][j];
             }
         }

         // Add menu
        Excel(xlfAddMenu,0,3,TempNum(1),(LPXLOPER)&amp;xMenu,TempStr(&quot; Help&quot;));

         // Finished
         return 1;
      }

      // Cleanup routine
      BOOL __stdcall xlAutoClose(void) {
         ::MessageBox(NULL, &quot;xlAutoClose()&quot;, &quot;Debug&quot;, MB_SETFOREGROUND );

         // Delete menu
         Excel(xlfDeleteMenu, 0, 2, TempNum(1), TempStr(&quot; MyMenu&quot;));

         return 1;
      }

      // Support for descriptive information about the add-in(s)
      // You can add a new customized title for the user, but
      // unfortunately, only an add-in written in Microsoft Visual Basic
      // can add a description string.
      LPXLOPER _stdcall xlAddInManagerInfo(LPXLOPER xAction) {
         static XLOPER xInfo, xIntAction;

         // Find out what action must be taken
         Excel(xlCoerce, &amp;xIntAction, 2, xAction, TempInt(xltypeInt));

         // DEBUG output to indicate when called
         sprintf(buf, &quot;xlAddInManagerInfo(%ld)&quot;, (long)xIntAction.val.w);
         ::MessageBox(NULL, &quot;xlAddInManagerInfo()&quot;, &quot;Debug&quot;,
             MB_SETFOREGROUND );

         // Set title if asked
         if(xIntAction.val.w == 1) {
             xInfo.xltype = xltypeStr;
             xInfo.val.str = &quot; My Add-in!!!!&quot;;
             xInfo.val.str[0] = (char)strlen(&amp;xInfo.val.str[1]);
         }
         else {
             xInfo.xltype = xltypeErr;
             xInfo.val.err = xlerrValue;
         }

         return (LPXLOPER)&amp;xInfo;
      }

        short __stdcall MyMotd(void) {
         char *name[] = {
            &quot;Rebekah&quot;,
            &quot;Brent&quot;,
            &quot;John&quot;,
            &quot;Joseph&quot;,
            &quot;Robert&quot;,
            &quot;Sara&quot;,
            0
         };
         char *quote[] = {
            &quot;An apple a day, keeps the doctor away!&quot;,
            &quot;Carpe Diem: Seize the Day!&quot;,
            &quot;What you dare to dream, dare to do!&quot;,
            &quot;I think, therefore I am.&quot;,
            &quot;A place for everything, and everything in its place.&quot;,
            &quot;Home is where the heart is.&quot;,

            0
         };

         int nNames, nQuotes;

         for(nNames=0; name[nNames]; nNames++);
         for(nQuotes=0; quote[nQuotes]; nQuotes++);

         sprintf(buf, &quot;%s says '%s'&quot;, name[rand()%nNames],
            quote[rand()%nQuotes]);
         ::MessageBox(NULL, buf, &quot;XLL MOTD&quot;, MB_SETFOREGROUND );

         return 0;
      }

      // Example function that returns the product of its two parameters
      long __stdcall MyFunc(long parm1, long parm2) {
       sprintf(buf, &quot;You sent %ld and %ld to MyFunc()!&quot;, parm1, parm2);
       ::MessageBox(NULL, buf, &quot;MyFunc() in Anewxll!!!&quot;, MB_SETFOREGROUND);

       return parm1 * parm2;
      }
      //=================================================================
</code></pre>
<p>framewrk.h und framewrk.cpp sind ja einfach aus dem Microsoft Excel 97 Developer's Kit, die include Anweisungen habe ich wie im Tutorial angepasst.</p>
<p>Wenn ich alles nun kompiliere kommt folgende Meldung</p>
<blockquote>
<p>visual studio 2008\projects\anewxll\xlcall.h(64) : error C2628: 'WORD' gefolgt von 'bool' unzulässig (Semikolon ';' vergessen?)</p>
</blockquote>
<p>Weiß jemand Rat, kommt mir so vor, als ob ich vllt noch was in den Projekteinstellungen machen müsste, oder die Projektstruktur falsch ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Kennt jemand vllt ein ähnliches, aber Anfängerfreundliches Tutorial für Visual Studio 2008 Express Edition?</p>
<p>Lg<br />
Telekinese</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355205</guid><dc:creator><![CDATA[Telekinese]]></dc:creator><pubDate>Tue, 24 Sep 2013 16:10:30 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Tue, 24 Sep 2013 15:52:26 GMT]]></title><description><![CDATA[<blockquote>
<p>mein nachgecodestes Beispiel kompiliert nicht, weiß gar nicht wo ich anfangen soll...</p>
</blockquote>
<p>Eventuell könntest du diesen Code im Forum posten. Vielleicht hilft dir ja jemand.</p>
<p>Beim Überfliegen des Codes auf der von dir verlinkten Seite wird mir klar, dass das ja in C geschrieben ist... und du postest im C++-Forum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355211</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 24 Sep 2013 15:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Tue, 24 Sep 2013 16:03:36 GMT]]></title><description><![CDATA[<p>Hallo Sone,<br />
das ist mir gar nicht aufgefallen, in der Überschrift heißt es ja<br />
<strong>How To Build an Add-in (XLL) for Excel Using Visual C++</strong></p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355214</guid><dc:creator><![CDATA[Telekinese]]></dc:creator><pubDate>Tue, 24 Sep 2013 16:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Tue, 24 Sep 2013 16:09:07 GMT]]></title><description><![CDATA[<p>Visual C++... nun ja, da weiß ich auch nicht weiter. Der Code ist lupenreines C. Da solltest du entweder den kompletten Code zu C umschreiben, oder ein anderes Tutorial suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355216</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 24 Sep 2013 16:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Wed, 25 Sep 2013 10:45:45 GMT]]></title><description><![CDATA[<p>Ok, ich hab jetzt ewig nach Tutorials gesucht und auch zwei etwas besser beschriebene Tutorials ausprobiert, aber keins von denen funktioniert.</p>
<p><a href="http://support.microsoft.com/kb/178474/en-us" rel="nofollow">http://support.microsoft.com/kb/178474/en-us</a><br />
<a href="http://www.modecube.com/Programming2.php" rel="nofollow">http://www.modecube.com/Programming2.php</a></p>
<p>Habe den Eindruck, dass immer etwas nicht erwähnt wird, was ich noch einbauen/einbinden muss.</p>
<p>Falls noch jmd ein gutes Tutorial kennt, wie man eine XLL mit VS 2008 C++ erstellt, bin ich für einen Tipp dankbar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Visual Studio 2008 Express Edition, Excel 2002 SP3, VB6</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355384</guid><dc:creator><![CDATA[Telekinese]]></dc:creator><pubDate>Wed, 25 Sep 2013 10:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Wed, 25 Sep 2013 11:49:26 GMT]]></title><description><![CDATA[<p>Lern doch erst mal programmieren. Wenn ich mir den Code anschaue, dann habe ich das Gefühl, Du weißt gar nicht, wie C oder C++ funktioniert.</p>
<p>Und wenn Du das dann nicht hin bekommst, dann frag mal im Windows-Forum nach. Das ist kein C++ Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355420</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 25 Sep 2013 11:49:26 GMT</pubDate></item><item><title><![CDATA[Reply to XLL in Visual Studio C++ erstellen klappt nicht on Fri, 27 Sep 2013 09:26:19 GMT]]></title><description><![CDATA[<p>Ja ich muss noch C++ lernen, und ja anscheinend ist das C Code...<br />
Aber nochmal: der Code ist von der offiziellen Microsoft Seite nicht von mir!!!!!</p>
<p><a href="http://support.microsoft.com/kb/178474/en-us" rel="nofollow">http://support.microsoft.com/kb/178474/en-us</a></p>
<p>Als Anfänger gehe ich halt davon ausgegangen, dass Microsoft weiß was sie schreiben und programmieren, ich will nur das Beispiel zum laufen bringen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355932</guid><dc:creator><![CDATA[Telekinese]]></dc:creator><pubDate>Fri, 27 Sep 2013 09:26:19 GMT</pubDate></item></channel></rss>