Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » HILFE! Viele Fehler mit Exceptions!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.10.2009, 00:21 Uhr
~MichelM
Gast


Hallo, ich habe hier eine Menge an Fehlern:


Zitat:

[BCC32 Fehler] Projekt.cpp(36): E2015 Mehrdeutigkeit zwischen 'Exception' und 'Sysutils::Exception'
[BCC32 Fehler] Projekt.cpp(39): E2034 Konvertierung von 'Exception *' nach 'Sysutils::Exception *' nicht möglich
[BCC32 Fehler] Projekt.cpp(39): E2342 Keine Übereinstimmung des Typs beim Parameter 'E' ('Sysutils::Exception *' erwartet, 'Exception *' erhalten)
[BCC32 Fehler] Projekt.cpp(45): E2015 Mehrdeutigkeit zwischen 'Exception' und 'Sysutils::Exception'
[BCC32 Fehler] Projekt.cpp(45): E2352 Instanz der abstrakten Klasse 'Exception' kann nicht erzeugt werden
[BCC32 Fehler] Projekt.cpp(45): E2353 Klasse 'Exception' ist abstrakt, weil '__stdcall Exception::get_Application(_Application * *) = 0'
[BCC32 Fehler] Projekt.cpp(45): E2285 Keine Übereinstimmung für 'Exception::Exception(const char *)' gefunden
[BCC32 Fehler] Projekt.cpp(45): E2031 Typumwandlung von 'const char *' nach 'Exception' nicht zulässig
[BCC32 Fehler] Projekt.cpp(47): E2015 Mehrdeutigkeit zwischen 'Exception' und 'Sysutils::Exception'
[BCC32 Fehler] Projekt.cpp(49): E2034 Konvertierung von 'Exception *' nach 'Sysutils::Exception *' nicht möglich
[BCC32 Fehler] Projekt.cpp(49): E2342 Keine Übereinstimmung des Typs beim Parameter 'E' ('Sysutils::Exception *' erwartet, 'Exception *' erhalten)



Hier ist der Code:


C++:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
USEFORM("BetPartNeuFrm.cpp", BetPartNeuForm);
USEFORM("SasNeuFrm.cpp", SasNeuForm);
USEFORM("AsBearbeitenFrm.cpp", AsBearbeitenForm);
USEFORM("AuftragBearbeitenFrm.cpp", AuftragBearbeitenForm);
USEFORM("LeistPosStammFrm.cpp", LeistPosStammForm);
USEFORM("RechUebersichtFrm.cpp", RechUebersichtForm);
USEFORM("AGStammFrm.cpp", AGStammForm);
USEFORM("LoginFrm.cpp", LoginForm);
USEFORM("AnwenderStammFrm.cpp", AnwenderStammForm);
USEFORM("DatenModulFrm.cpp", DatenModul); /* TDataModule: File Type */
USEFORM("RegStammFrm.cpp", RegStammForm);
USEFORM("RechErstellenFrm.cpp", RechErstellenForm);
USEFORM("AuftragNeuFrm.cpp", AuftragNeuForm);
USEFORM("MainFrm.cpp", MainForm);
USEFORM("SBStammFrm.cpp", SBStammForm);
USEFORM("RasNeuFrm.cpp", RasNeuForm);
USEFORM("LeistManFrm.cpp", LeistManForm);
USEFORM("AsTerminFrm.cpp", AsTerminForm);
//---------------------------------------------------------------------------
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
    try
    {
        Application->Initialize();
        Application->MainFormOnTaskBar = true;
        Application->Title = "Datenverwaltung";
        Application->CreateForm(__classid(TMainForm), &MainForm);
        Application->CreateForm(__classid(TDatenModul), &DatenModul);
        Application->Run();
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    catch (...)
    {
        try
        {
            throw Exception("");
        }
        catch (Exception &exception)
        {
            Application->ShowException(&exception);
        }
    }
    return 0;
}
//---------------------------------------------------------------------------



Weiß einer Rat?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.10.2009, 12:57 Uhr
öni



Kenn mich zwar nicht genau aus, aber ich vermute mal das nach einem try ein catch folgen muss. Jedoch bei dir nach einem try-catch nochmals ein catch folgt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.10.2009, 13:47 Uhr
0xdeadbeef
Gott
(Operator)


Nein, das ist schon in Ordnung so. Auf die Art kannst du verschiedene Exception-Typen getrennt behandeln.

Das Problem ist wohl, dass sich zwei gleichnamige Typen in verschiedenen Namespaces in die Haare kriegen, nämlich Exception und Sysutils::Exception. Ich weiß jetzt nicht, wie dieser USEFORM-Kram funktioniert, aber unter der Annahme, dass er #includes auf andere Source-Dateien macht (etwas, was du womöglich beheben solltest), wird wohl in ein oder mehreren dieser Module ein

C++:
using namespace Sysutils;


und in einem anderen eine eigene Exception-Klasse stehen.

Ich schieb das ganze mal ins Borland-Forum.

-->
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: