Problem mit ras.h



  • Hallo zusammen,

    ich habe ein Problem mit der ras.h die beim C++ Builder 6.0 dabei ist... Wenn ich sie in ein Projekt einbinde, meldet mir der Compiler unendlich viele Fehlermeldungen...

    Wer weiß woran das liegt oder wie man die Fehler abschalten kann??

    Gruß
    Dominique



  • Welche BCB-Version und welches Windows benutzt du?
    Wie bindest du den Header konkret ein?
    Welche Funktionen daraus verwendest du und wie rufst du diese auf?
    Wie lauten zumindest die ersten Fehlermeldungen?



  • Hi!!

    Welche BCB-Version und welches Windows benutzt du?

    Borland Builder 6.0 und Windows 2000

    Wie bindest du den Header konkret ein?

    include <ras.h>

    Welche Funktionen daraus verwendest du und wie rufst du diese auf?

    z.B.

    #pragma warn -dup
    #define WINVER 0x400
    #include <ras.h>
    
    bool HangUpAllConnections(void)
    {
      bool blFound = false;
      DWORD dwSizeBuf = 0;
      DWORD dwConnections = 0;
      RASCONN stRasConn;
      stRasConn.dwSize = sizeof(stRasConn);
    
      RasEnumConnections(&stRasConn, &dwSizeBuf, &dwConnections);
      if(dwConnections <= 0) return false;
    
      RASCONN *lpRasConn = new RASCONN[dwConnections];
      lpRasConn->dwSize = sizeof(*lpRasConn);
      RasEnumConnections(lpRasConn, &dwSizeBuf, &dwConnections);
      for(DWORD i = 0; i < dwConnections; i++)
        RasHangUp(lpRasConn[i].hrasconn);
      delete []lpRasConn;
      return blFound;
    }
    

    Wie lauten zumindest die ersten Fehlermeldungen?

    Ein fehlendes "{"... Wenn man das hinzufügt dann kommt was mit DWORD dwSize unknown data type...



  • Kann ich nicht nachvollziehen, dein Beispiel lässt sich hier anstandslos kompilieren. Möglicherweise liegt das am Zusammenspiel mit andereren Headern, du kannst ja probehalber mal die include-Reihenfolge variieren.

    Dass bei davor stehenden Funktionen keine Klammern fehlen oder zuviel sind hast du ja sicher dreimal kontrolliert? 😉



  • Hallo Dominique,

    vielleicht hast Du es ja in Deinem Code-Snippet nur vergessen, wenn nicht dann folgendes:
    1.)
    Ich vermisse den Header-File für die CPP-Datei, in dem u.a. die Funktion
    HangUpAllConnections(void) definiert ist.
    2.)Desweiteren vermisse ich in Deinem CPP-File das Include der vlc.h Datei (vcl.h>

    Gruß
    Gerhard



  • Hi!!!

    @Jansen:
    Die Header zu tauschen hab ich auch schon versucht... Hat nix gebracht...

    Die Klammern werden nicht nin meinen Funktionen sondern in der ras.h kritisiert....

    @Gerhard
    Die hab ich drinnen... Stehen nur weiter drüber und sind beim Copy&Paste nicht mitgekommen... :-))

    Vielen Dank erstmal an alle... 🙂

    Gruß
    Dominique



  • Hast du schon die Gegenprobe mit einem Minimalprojekt gemacht? Wie gesagt, folgendes lässt sich hier problemlos kompilieren.

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #include <ras.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    bool HangUpAllConnections(void)
    {
      // dein Beispiel-Code
    }
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
      : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    


  • Hab gerade mal das Minimalprojekt kompiliert und laufe immer noch auf diverse Fehler in der ras.h...
    Ich denke mal, der Fehler liegt in selbiger Datei...
    Weiß jemand, wo ich eventuell ein neues Exemplar der ras.h herunterladen kann???

    Gruß
    Dominique



  • handyman2002 schrieb:

    Weiß jemand, wo ich eventuell ein neues Exemplar der ras.h herunterladen kann?

    Das aktuelle PlatformSDK von MS herunterladen? Allerdings bezweifle ich, dass mit der ras.h etwas nicht stimmt, schliesslich habe ich hier ebenfalls beim BCB6 keine diesbezüglichen Probleme.

    Allerdings habe ich nur auf WinXP getestet, vielleicht kann jemand mit Win2K und BCB6 das nochmal ausprobieren?


Anmelden zum Antworten