61 / 61 / 5
Регистрация: 12.04.2013
Сообщений: 415
1

Работает на С++ Builder 6, но не работает на С++ Builder 2010(Embarcadero)

13.11.2015, 14:58. Показов 1440. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте форумчане!
Есть кот рабочий на С++ Builder 6, а на С++ Builder 2010(Embarcadero) ругается при вызове Log.
В чем проблема???

Вот кот:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall Log(AnsiString& Text)
{
AnsiString file = "log.txt";
TStringList *list = new TStringList;
 
    if (FileExists(file))
    {
        list->LoadFromFile(file);
    }
    list->Add(Text);
    list->SaveToFile(file);
    delete list;
 
}
Вызов:
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender) //лог
{
Log("Это будет в логе ");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2015, 14:58
Ответы с готовыми решениями:

Embarcadero 2010 C++ Builder
вот тут ошибка одна , заколебала появляется внезапно, и так же внезапно исчезает вот код: void...

Почему данный код работает в builder 6 а в builder 10 не работает?
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);...

Можно ли использовать C++ Builder v11 если купить Embarcadero C++Builder XE8
День добрый! Есть старый проект С++. Он компилируется на CodeGear™ C++Builder Version 11. Но на...

Как использовать компоненты скомпилированные для C++ Builder 2007 в C++ Builder 2010?
Народ! Такая проблема... Есть набор компонентов т.н. Dicom VCL. Сайт производителя -...

5
1408 / 571 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
13.11.2015, 15:10 2
Лучший ответ Сообщение было отмечено swr-15 как решение

Решение

C++
1
2
3
4
5
//так
void __fastcall Log(const AnsiString& Text)
 
//а лучше так
void __fastcall Log(AnsiString Text)
1
61 / 61 / 5
Регистрация: 12.04.2013
Сообщений: 415
13.11.2015, 15:27  [ТС] 3
Цитата Сообщение от _Dimon_ Посмотреть сообщение
//так
void __fastcall Log(const AnsiString& Text)
//а лучше так
void __fastcall Log(AnsiString Text)
Спасибо, работают оба.
А почему именно так?
0
1408 / 571 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
13.11.2015, 15:43 4
Цитата Сообщение от swr-15 Посмотреть сообщение
А почему именно так?
если по простому, то в твоем варианте передается ссылка, которая ни к чему не привязана

если написать так
C++
1
2
AnsiString s = "Это будет в логе ";
Log(s);
то будет работать и твой код

Добавлено через 7 минут
подробнее можно здесь посмотреть
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
13.11.2015, 16:05 5
Цитата Сообщение от _Dimon_ Посмотреть сообщение
//а лучше так
А еще лучше - так:
C++
1
void __fastcall Log(const String& Text)
, сколько можно за собой эти AnsiString-и тянуть?
1
1408 / 571 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
13.11.2015, 16:11 6
Цитата Сообщение от volvo Посмотреть сообщение
А еще лучше - так
согласен, просто не хотел ТС с толку сбивать
Цитата Сообщение от volvo Посмотреть сообщение
сколько можно за собой эти AnsiString-и тянуть?
пока будет С++ Builder 6, AnsiString не умрет
0
13.11.2015, 16:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2015, 16:11
Помогаю со студенческими работами здесь

Ошибка E2316 (переход с Builder 6, на Builder 2010)
В общем проект создавался на Builder 6, теперь я его пытаюсь скомпилировать на Builder 2010....

Перевод проекта с Builder 2010 на Builder 10 Seattle
Добрый день. Перевожу проект написанный на С++ с Builder 2010 на Builder 10 Seattle. В...

Дружат ли С++ Builder 2007 и С++ Builder 2010 ?
У меня на Win 7 x64 стоит С++ Builder 2007. Можно ли еще поставить Builder 2010, т.е. не будут ли...

Преобразовать проект с Builder 6 в Builder 2010
есть проект написанный на C++ Builder 6. Есть необходимость расширение и доработка проекта, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru