Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.11.2013, 15:15
dlev2 dlev2 вне форума
Прохожий
 
Регистрация: 21.02.2013
Сообщения: 3
Репутация: 10
Печаль ошибка типов TGroupBox TImage

есть строчка
cards_massiv[a].image.Parent:=Players.player[a1];
в которой массив карт, карта - составной тип, image - указатель на компонент TImage.
Players.player - указатель на компонент TGroupbox
собственно, перемещаю карту с одного groupbox'са в другой, меняю родителя, на чем вылетает ошибка "неверные типы TWinControl и Pointer"
указатели

Код:
TCards = record
   ...
   image:PImage;
   ...
 end;


 TPlayers = record
   ...
   player:array[1..4] of ^TGroupBox;
   ...
 end;

присваивание происходило таком образом
Код:
unit1.Players.player[unit1.Players.index]:=@Unit1.Form1.GroupBox8;

Последний раз редактировалось M.A.D.M.A.N., 25.11.2013 в 15:21.
  #2  
Старый 25.11.2013, 15:20
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А нахрена такой изврат?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #3  
Старый 25.11.2013, 15:27
dlev2 dlev2 вне форума
Прохожий
 
Регистрация: 21.02.2013
Сообщения: 3
Репутация: 10
По умолчанию

значит нужен, пишу карточную игру, клиент-серверную, карты должны выкладываться перед тобой у каждого игрока, рабочая среда каждого игрока - низ, собственно каждому игроку присваевается его "рабочий стол"
записывается в тип игроки. Просто сверху положить просто, а вот когда сервер присылает информацию о том что данный игрок сделал ход, и карту нужно положить в его "стол" вот тут и нужны ссылки
  #4  
Старый 25.11.2013, 15:46
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Все равно через задницу вы все делаете.
Достаточно одной связной коллекцией рулить и одним имиджем, коллекция отвечает за расположение карт на столе, имидж для отображения стола с картами.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #5  
Старый 25.11.2013, 15:58
dlev2 dlev2 вне форума
Прохожий
 
Регистрация: 21.02.2013
Сообщения: 3
Репутация: 10
Смущение

карты не обычная колода, у всех карт разные "виды использования"
любая карта используется кучу раз, у меня картинок ровно по колличестку карт, с нужными рисунками, 4 стола, на каждого из игроков по 1 + карты на руках (5 стол) + банк, пока лежит в общим, но для удобства просмотра придется сделать новый. мне всего лишь надо решить проблему с расходом типов и все, если есть предложения пишите по теме, остальное в лес, спасибо
  #6  
Старый 25.11.2013, 16:06
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
TPlayers = record
   ...
   player:TObjectList;
   ...
 end;

За подробностями >> в лес.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #7  
Старый 25.11.2013, 17:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тут у ТС просто есть некоторое непонимание.
Любой объекв в Delphi уже УКАЗАТЕЛЬ. Поэтому описание вида:
Код:
 TPlayers = record
   ...
   player:array[1..4] of ^TGroupBox;
   ...
 end;
создает массив указателей на указатели, что явно не то, что нужно. Кстати, с Image та же самая ошибка.

Соответсвенно, корректный вариант (с GB) выглядит так:
Код:
type
TPlayers = record
   ...
   player:array[1..4] of TGroupBox;
   ...
 end;
...
Players.player[Players.index]:=Form1.GroupBox8;
  #8  
Старый 25.11.2013, 17:10
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Я спросил ТС, зачем такой изврат с указателем на указатель, он ответил:
Цитата:
Сообщение от dlev2
значит нужен
Мой вопрос на этом исчерпался.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025