Page 10 of 15
Re: C--
Posted: Mon Jan 06, 2014 2:23 am
by punk_joker
Leency wrote:Какой там формат данных и как его использовать я так до конца не понял.
Для текста что-то типа этого
struct buffer_data
{
dword size;
dword type;
dword encoding;
byte buffer_data[4096];
};
И в результате пример от Mario для получение содержимого буфера выводит именно тот текст, который я занес. Осталось ток разобраться как его правильно забрать оттуда.
Re: C--
Posted: Sun Jan 19, 2014 11:21 pm
by punk_joker
Помогите правильно переписать данную структуру:
Filter:
dd Filter.end - Filter.1
.1:
.end:
db 0
Re: C--
Posted: Mon Jan 20, 2014 1:40 am
by Mario_r4
punk_joker wrote:Помогите правильно переписать данную структуру:
В чем суть проблемы?
Re: C--
Posted: Mon Jan 20, 2014 2:52 am
by punk_joker
Пока писал ответ, придумал вариан решения. Но все равно, dd Filter.end - Filter.1 - определяет размер скажем так массива с нужными расширениями файлов, для пустого фильтра можно в принципе указать 0, но хочется всеже более универсальное решение. Тут скорее всего необходимо задействовать указатели, вот как с ними работать я еще плохо понимаю.
Re: C--
Posted: Tue Jan 21, 2014 2:45 am
by punk_joker
Боюсь сам, я всетаки не одолею сего демона (OpenDialog). Заголовочный файл теоретически правильный, Скорее всего я делаю что-то не так либо при заполнении структуры, либо неправильно понял как вызывать инициализацию opendialog'а, так как именно после добавления строки инициализации компонента программа вылетает. Архив с программой и хедером прилагаю.
Re: C--
Posted: Tue Jan 21, 2014 3:09 am
by Leency
Если ты хочешь протестировать отдельно взятый функционал, лучше для этого взять программу cmm/example.
В твоём примере черт ногу сломит: в ней намешан и буфер обмена, и OpenDialog, и даже boxlib от предыдущего примера.
Ты всё делал правильно, но запутался и если удалить всё лишнее, ответ может быть найден сам собой. После расчистки так и случилось. Вначале нужно установить переменные, а потом уже инициализировать OpenDialog. Всё что я сделал, это перенёс строку proc_lib_opendialog_init stdcall (#twst); ниже по коду.
Re: C--
Posted: Tue Jan 21, 2014 3:16 am
by punk_joker
Leency wrote:Если ты хочешь протестировать отдельно взятый функционал, лучше для этого взять программу cmm/example.
В твоём примере черт ногу сломит: в ней намешан и буфер обмена, и OpenDialog, и даже boxlib от предыдущего примера.
Ты всё делал правильно, но запутался и если удалить всё лишнее, ответ может быть найден сам собой. После расчистки так и случилось. Вначале нужно установить переменные, а потом уже инициализировать OpenDialog. Всё что я сделал, это перенёс строку proc_lib_opendialog_init stdcall (#twst); ниже по коду.
Пора бы мне уже прекращать такие тупые ошибки делать. Спасибо. А про использование для этих целей cmm/example как-то и не подумал.
Re: C--
Posted: Tue Jan 21, 2014 3:18 am
by punk_joker
Осталось отловить причину падения программы при попытке запуска OpenDialog'а.
Re: C--
Posted: Tue Jan 21, 2014 3:20 am
by Leency
Скорее всего что-то с параметрами. Нужно смотреть ассемблерные варианты. И алсо у FPlay тоже должен быть подключаемый файл OpenDialog.
Re: C--
Posted: Tue Jan 21, 2014 3:24 am
by punk_joker
Leency wrote:Скорее всего что-то с параметрами. Нужно смотреть ассемблерные варианты. И алсо у FPlay тоже должен быть подключаемый файл OpenDialog.
Я брал в качестве примеров код на wiki и rtfread. Ниче, теперь он унего не останется выбора кроме как заработать
Re: C--
Posted: Tue Jan 21, 2014 3:31 am
by punk_joker
Ха, в Fplay используется для подключения asm-код
Re: C--
Posted: Tue Jan 21, 2014 3:36 am
by Leency
Кинь ссылку, пожалуйста.
Re: C--
Posted: Tue Jan 21, 2014 3:39 am
by punk_joker
Re: C--
Posted: Mon Mar 24, 2014 3:56 am
by punk_joker
Каким образом в С-- можно получить данные определенного размера с определенной позиции?
Re: C--
Posted: Mon Mar 24, 2014 11:53 am
by Leency
Что ты конкретно хочешь сделать?
> Каким образом в С-- можно получить данные определенного размера с определенной позиции?
strncpy(in_buf, from_buf + смещение_на_определённую позицию, размер_копируемых_данных);
оно?