
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.06.2004, 17:12
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
Что в этом коде может быть не так ... почему отказываеться работать... class TMyObject { public: int obj_id; //TObjectType obj_type; }; class TNamedObject: public TMyObject { public: AnsiString obj_name; }; struct TNodeData { TMyObject Data; } *PNodeData; // Begin for (int ii=0;ii<3;ii++) { tmpNode = Tree->AddChild(NULL); TNamedObject *root_obj = new TNamedObject; root_obj->obj_id = -1; root_obj->obj_name = "ЧЧЧЧЧЧЧ"; // Приведение типов dynamic_cast <PNodeData>(Tree->GetNodeData(tmpNode)); // или ((PNodeData*)Tree->GetNodeData(tmpNode)) } //end. Выдают ошибку о том что нифига не могут найти такой класс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:23
|
|||
|---|---|---|---|
Помогите найти ошибку! |
|||
|
#18+
Какой класс? Если PNodeData, то ничего удивительного, у тебя он нигде не определен. А лучше, если бы ты привел сообщение компилятора полностью и на какой строчке он споткнулся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:27
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
Спотыкаеться на одной из строчек выделенных черным... Походу я что то не то со структурой намутил!. Почему struct TNodeData { TMyObject Data; } *PNodeData; не дает возможности определить переменную как PNodeData *tmpNodeData? никогда не использовал структуры, всегда обходился классами, но тут вот вышла такая ситуация ... Отвратительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:28
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
dynamic_cast <PNodeData>(Tree->GetNodeData(tmpNode)); // или ((PNodeData*)Tree->GetNodeData(tmpNode)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:30
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
dynamic_cast <PNodeData>(Tree->GetNodeData(tmpNode)); // или ((PNodeData*)Tree->GetNodeData(tmpNode)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:37
|
|||
|---|---|---|---|
Помогите найти ошибку! |
|||
|
#18+
Попробуй так: typedef PNodeData TNodeData*; И смысл этого не понятен: dynamic_cast <PNodeData>(Tree->GetNodeData(tmpNode)); ((PNodeData*)Tree->GetNodeData(tmpNode)) Если ты просто хотел засунуть в tmpNode->Data указатель на только что созданный объект (в цикле), тогда просто так tmpNode->Data = root_obj; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:46
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
roman10 Изначально зачада звучит так ... Перевести текст написанный на Дельфях в текст написанный на Си++ TMyObject = class(TObject) public obj_id : Integer; obj_type : TObjectType; end; TNamedObject = class(TMyObject) public obj_name : String; end; PNodeData = ^TNodeData; TNodeData = record Data : TMyObject; end; var RootNode, Node : PVirtualNode; root_obj, obj : TNamedObject; begin tvTree.BeginUpdate; tvTree.NodeDataSize := SizeOf(TNodeData); ... RootNode := tvTree.AddChild( nil ); root_obj := TNamedObject.Create; root_obj.obj_id := -1; root_obj.obj_type := objRoot; root_obj.obj_name := 'Какой-то текст'; PNodeData(tvTree.GetNodeData( RootNode )).Data := root_obj; ... tvTree.EndUpdate;end; Сегодня я убил день но так и не добился нужного результата. Мне уже перед самим собой стыдно. Самое страшное что я не понимаю в чем дело. Паронойя уже начинаеться . Главная загвоздка с выделенным текстом. Все остальное просто не может не работать! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:48
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
roman10 Изначально зачада звучит так ... Перевести текст написанный на Дельфях в текст написанный на Си++ TMyObject = class(TObject) public obj_id : Integer; obj_type : TObjectType; end; TNamedObject = class(TMyObject) public obj_name : String; end; PNodeData = ^TNodeData; TNodeData = record Data : TMyObject; end; var RootNode, Node : PVirtualNode; root_obj, obj : TNamedObject; begin tvTree.BeginUpdate; tvTree.NodeDataSize := SizeOf(TNodeData); ... RootNode := tvTree.AddChild( nil ); root_obj := TNamedObject.Create; root_obj.obj_id := -1; root_obj.obj_type := objRoot; root_obj.obj_name := 'Какой-то текст'; PNodeData(tvTree.GetNodeData( RootNode )).Data := root_obj; ... tvTree.EndUpdate;end; Сегодня я убил день но так и не добился нужного результата. Мне уже перед самим собой стыдно. Самое страшное что я не понимаю в чем дело. Паронойя уже начинаеться . Главная загвоздка с выделенным текстом. Все остальное просто не может не работать! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 17:55
|
|||
|---|---|---|---|
Помогите найти ошибку! |
|||
|
#18+
А если PNodeData(tvTree.GetNodeData( RootNode )).Data := root_obj; заменить на ((TNodeData*)Tree->GetNodeData(RootNode))->Data = root_obj; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 18:03
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
Получаем ошибку ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 18:06
|
|||
|---|---|---|---|
Помогите найти ошибку! |
|||
|
#18+
Какую??? Что пишет компилятор? И где ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.06.2004, 18:12
|
|||
|---|---|---|---|
|
|||
Помогите найти ошибку! |
|||
|
#18+
Все подсказали как сделать ... Только не понимаю ... мне кажеться я так пробовал с самого начала ... странно как то... tmpNodeData = (TNodeData *)Tree->GetNodeData(tmpNode); однако если ты попробуешь в этой строчке обратиться дальше по указателю к какому нить свойству он тебе покажет фигу ... вот такая вот замарочка... Может в этом и есть прелесть void * ... Да странно! Убил день ... а на что ... сейчас все работает . Спасибо за конференцию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2034712]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
114ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 455ms |

| 0 / 0 |
