Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Помогите разобраться в Delphi работает в Buildere нет.   Найти похожие ветки 

 
Kolan ©   (2004-12-06 22:24) [0]

В Delphi это проходит:
function TForm1.Cool: TStringList;
var
 S: TStringList;
begin
 S := TStringList.Create;
 S.Add("sdfsd");
 Result := S;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

 Memo1.Lines.AddStrings(Cool);
end;


В вот в Buildere не поймо как правильно:
TStringList __fastcall TMainForm::Cool()
{
 TStringList *S = new TStringList;
 S->Add("sdfs");
 Memo1->Lines->AddStrings(S);
 return S;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::BitBtn1Click(TObject *Sender)
{
 Memo1->Lines->AddStrings(Cool());
}

Ошибки выдаёт:
Build
 [C++ Error] KJavaParserMainForm.cpp(43): E2034 Cannot convert "TStringList *" to "TStringList"
 [C++ Error] KJavaParserMainForm.cpp(51): E2034 Cannot convert "TStringList" to "TStrings *"
 [C++ Error] KJavaParserMainForm.cpp(51): E2342 Type mismatch in parameter "Strings" (wanted "TStrings *", got "TStringList")


 
Kolan ©   (2004-12-06 23:03) [1]

Все спят  что-ли или вопрос не нравится.
PS Спать охота подсказали бы, я б сделал и спать пошел :)


 
GuAV ©   (2004-12-06 23:19) [2]

Kolan ©   (06.12.04 22:24)
function TForm1.Cool: TStringList;
var
S: TStringList;
begin
S := TStringList.Create;
S.Add("sdfsd");
Result := S;
end;


можно заменить на

function TForm1.Cool: TStrings;
var
S: TStringList;
begin
S := TStringList.Create;
S.Add("sdfsd");
Result := S;
end;

и в D будет IMHO лучше и в C наверное поможет.


 
ЮЮ ©   (2004-12-07 04:41) [3]

Это называется не Cool, а Leak: созданный в функции TStringList никем уничтожен не будет, а ссылка на него - потеряна


procedure TForm1.Cool(Strings: TStrings);
begin
 Strings.Add("sdfsd");
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
 Cool(Memo1.Lines);
end;


 
DiamondShark ©   (2004-12-07 09:42) [4]

TStringList* __fastcall TMainForm::Cool()


 
KADAN ©   (2004-12-07 09:50) [5]

мда... во-первых ЮЮ сказал верно
во-вторых ты объявил ф-цию как TStringList, а она у тебя пытается вернуть указатель на него, нехорошо наверна... (это про си)



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
11-1084185969
Yustas
2004-05-10 14:46
2004.12.19
TSTRList.SaveToFile


1-1102075168
Muhan
2004-12-03 14:59
2004.12.19
Как в StringGrid реагировать на щелчок правой кнопки мыши?


14-1101848169
Некто
2004-11-30 23:56
2004.12.19
Алгоритм работы виртуальной памяти


14-1101696577
Думкин
2004-11-29 05:49
2004.12.19
С днем рождения! 29 ноября


9-1093072914
aprm
2004-08-21 11:21
2004.12.19
Как нарисовать в OGL что-нибудь поверх всего остального