|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2009, 19:32 | #1 |
Регистрация: 12.10.2009
Сообщений: 8
|
Проблема переноса строк из одного списка (Listbox) в другой.
Всем привет. Есть задача.
Диалоговая панель содержит два списка(ID_LIST1 и ID_LIST2) и кнопку >>(ID_BUTTON). После нажатия кнопки >> строки выбранные в списке(ID_LIST1) переслать в список(ID_LIST2). Код:
Подскажите в чём проблема. Последний раз редактировалось Stilet; 13.10.2009 в 13:18. |
12.10.2009, 19:37 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
буфера точно хватает на копирование?
ибо винда не знает длины буфера...вы должны сами её(длину) узнавать Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.10.2009, 21:25 | #3 |
Регистрация: 12.10.2009
Сообщений: 8
|
Пепел Феникса, какой буфер char Str [20]?
Пробовал ставить Str [100]. Не помогло. |
12.10.2009, 21:51 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
попробуйте пройтись или отладчиком.
или просто комментировать куски кода(например цикл копирование заккоментируйте) и там уже виднее будет. Код:
может тут компилятор приведение типа иначе воскпринял(хотя с чего это) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.10.2009, 11:59 | #5 |
Регистрация: 12.10.2009
Сообщений: 8
|
Пепел Феникса, спасибо за помощь!!! Разобрался!!!
1. Цикл Не for (i = 0; i <= nMax; i++), а for (i = 0; i < nMax; i++). 2.Но это не главное основная проблема в этой строке: SendDlgItemMessage(hDlg, ID_LIST1, LB_GETSELITEMS, (WPARAM)nMax, (LPARAM)*Index); // заполнение массива Нужно не *Index первое значение массива, а его адрес Index: SendDlgItemMessage(hDlg, ID_LIST1, LB_GETSELITEMS, (WPARAM)nMax, (LPARAM)Index); // заполнение массива |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переход из одного типа в другой | Лонли-Локли | Общие вопросы Delphi | 8 | 27.08.2009 12:39 |
По поводу переноса БД с 1 компа на другой | Droid | БД в Delphi | 17 | 19.06.2009 04:43 |
Перенос проги с одного ПК на другой | Azef | Помощь студентам | 2 | 13.05.2008 18:07 |
Сортировка в StringGrid'е, копирование строк из одного SG в другой | monushka | Помощь студентам | 3 | 29.10.2007 23:54 |
Перенос из одного Image в другой | Dimitriys | Компоненты Delphi | 5 | 14.07.2007 23:32 |