/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
(newbie)kode problem ved opgradering til B~
Fra : Martin Schultz


Dato : 05-07-01 12:04

Jeg har opgradeeret fra Borland C++ Builder 3 til 5.0 pro. Når jeg
prøver at kompile et af mine problemer får jeg følgende fejl som ikke
optræder hvis jeg kompiler programmet med builder 3.
Koden er:

AnsiString sendmail;
if (ParamCount()>0)
{
sendmail = ParamStr(1);
Edit3->Text = sendmail;
string s = Edit3->Text.c_str();
s.replace(0,7,"");
Edit1->Text = s.c_str();
}

[C++ Error] Unit1.cpp(107): E2451 Undefined symbol 'string'
[C++ Error] Unit1.cpp(107): E2379 Statement missing ;
[C++ Error] Unit1.cpp(108): E2451 Undefined symbol 's'

Hvis jeg retter string til String får jeg følgende fejl

[C++ Error] Unit1.cpp(108): E2316 'replace' is not a member of
'AnsiString'

 
 
Mogens Hansen (05-07-2001)
Kommentar
Fra : Mogens Hansen


Dato : 05-07-01 13:15


"Martin Schultz" <doctorm@_REMOVE_THIS_cryogen.com> wrote in message
news:e1i8kt4j5udbhua30nruqe7rnor8350bit@4ax.com...
> Jeg har opgradeeret fra Borland C++ Builder 3 til 5.0 pro. Når jeg
> prøver at kompile et af mine problemer får jeg følgende fejl som ikke
> optræder hvis jeg kompiler programmet med builder 3.
> Koden er:
>
> AnsiString sendmail;
> if (ParamCount()>0)
> {
> sendmail = ParamStr(1);
> Edit3->Text = sendmail;
> string s = Edit3->Text.c_str();
> s.replace(0,7,"");
> Edit1->Text = s.c_str();
> }
>
> [C++ Error] Unit1.cpp(107): E2451 Undefined symbol 'string'
> [C++ Error] Unit1.cpp(107): E2379 Statement missing ;
> [C++ Error] Unit1.cpp(108): E2451 Undefined symbol 's'

Det kan godt være fordi "string" findes i namespace "std".

Prøv enten at skrive
std::string s = ...

eller

using namespace std;

Venlig hilsen

Mogens Hansen




Martin Schultz (05-07-2001)
Kommentar
Fra : Martin Schultz


Dato : 05-07-01 13:27

On Thu, 5 Jul 2001 14:15:04 +0200, "Mogens Hansen"
<mogens_h@dk-online.dk> wrote:
>Det kan godt være fordi "string" findes i namespace "std".
>
>Prøv enten at skrive
>std::string s = ...
Tak det hjalp.
Nu siger den:
[Linker Fatal Error] Fatal: Unable to open file 'VCLE35.LIB'
Hvilket den vel automatisk burde finde ud af er erstattet af version 5
vcl filer, eller hvad?
Men det høre måske mere hjemme i en intern borland gruppe.

Ivan Johansen (05-07-2001)
Kommentar
Fra : Ivan Johansen


Dato : 05-07-01 14:20

Martin Schultz wrote:
> Nu siger den:
> [Linker Fatal Error] Fatal: Unable to open file 'VCLE35.LIB'
> Hvilket den vel automatisk burde finde ud af er erstattet af version 5
> vcl filer, eller hvad?
> Men det høre måske mere hjemme i en intern borland gruppe.

Der er i hvert fald flere, der kan hjælpe, på Borlands grupper.

Det ser ud til at din projektfil ikke er blevet konverteret rigtigt til
version 5. Den nemmeste løsning er nok at lave et nyt projekt og tilføje
de forskellige filer til det nye projekt. Et alternativ er at redigere
projektfilen, men det kan godt tage lang tid at få til at virke.

Ivan Johansen

Christian Drivsholm (06-07-2001)
Kommentar
Fra : Christian Drivsholm


Dato : 06-07-01 15:13

Hej Martin

Følgende kode virker på min PC med Borland C++ Builder:


file://---------------------------------------------------------------------
------

#include <vcl.h>
#include <string>
#pragma hdrstop
#include "Unit1.h"
file://---------------------------------------------------------------------
------
#pragma package(smart_init)
#pragma resource "*.dfm"

using namespace std;

TForm1 *Form1;
file://---------------------------------------------------------------------
------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
file://---------------------------------------------------------------------
------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString sendmail;
if (ParamCount()>0)
{
sendmail = ParamStr(1);
Edit1->Text = sendmail;
string s = Edit1->Text.c_str();
s.replace(0,7,"");
Edit1->Text = s.c_str();
}


}
file://---------------------------------------------------------------------
------



Hilsen
Christian Drivsholm
Århus
www.christian.drivsholm.suite.dk













Martin Schultz <doctorm@_REMOVE_THIS_cryogen.com> skrev i en
nyhedsmeddelelse:e1i8kt4j5udbhua30nruqe7rnor8350bit@4ax.com...
> Jeg har opgradeeret fra Borland C++ Builder 3 til 5.0 pro. Når jeg
> prøver at kompile et af mine problemer får jeg følgende fejl som ikke
> optræder hvis jeg kompiler programmet med builder 3.
> Koden er:
>
> AnsiString sendmail;
> if (ParamCount()>0)
> {
> sendmail = ParamStr(1);
> Edit3->Text = sendmail;
> string s = Edit3->Text.c_str();
> s.replace(0,7,"");
> Edit1->Text = s.c_str();
> }
>
> [C++ Error] Unit1.cpp(107): E2451 Undefined symbol 'string'
> [C++ Error] Unit1.cpp(107): E2379 Statement missing ;
> [C++ Error] Unit1.cpp(108): E2451 Undefined symbol 's'
>
> Hvis jeg retter string til String får jeg følgende fejl
>
> [C++ Error] Unit1.cpp(108): E2316 'replace' is not a member of
> 'AnsiString'



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste