

Ответов: 8961
Рейтинг: 824
|
|||
nesco, не подскажите как передать значение указателя (тип Pointer) в IC через верхнюю точку, а лучше как преобразовать тип 'String' в тип 'Pointer' (строку сверху я читать научился
![]() ![]() |
|||
карма: 19 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Ну, Pointer - это DWORD в 32-битных системах и QWORD в 64-битных. Передавать, наверное, надо как целое.
|
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид писал(а): строку сверху я читать научилсяА зачем строку, можно и целое читать, например
|
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
iarspider, т. е. строку (например, указатель на канал в BASS: "mainrecstream") перевести в число используя коды - явно больше, чем 64 бита!
![]() ![]() |
|||
карма: 19 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид, указатель в Винде не может быть больше 2^31, причем тут 64 бита
![]() ------------ Дoбавленo в 15.15: Леонид, и объясни мне -- причем тут строка и указатель, это совсем разные вещи ------------ Дoбавленo в 15.16: Короче, приведи наработки по IC и объясни, чего ты хочешь ![]() |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, мне в IC надо получить handle существующего канала звука, обозначенного в свойствах, как "mainrecstream"
------------ Дoбавленo в 15.23:
|
|||
карма: 19 |
|
Ответов: 5446
Рейтинг: 323
|
|||
nesco, даже в 64-битных ОС?
|
|||
карма: 1 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, ранее я в компоненте BASS_RecordStart делал вывод handle на нижнюю точку, и вся проблема, но это изменение стандартного компонента!
|
|||
карма: 19 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
iarspider писал(а): даже в 64-битных ОС?Нет, я имел в виду обычную, 32-х битную Винду ------------ Дoбавленo в 15.30: Леонид, здесь применяется безлинковая передача указателя, так что учись работать с менеджерами |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Леонид, вообще почти ничего не понял, но думаю ты хочешь это
|
|||
карма: 10 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, "Не хочу учиться, а хочу жениться!" - и то и другое уже поздно
![]() Где же мне найти такой менеджер, который передаст handle выработанный компонентом BASS_RecordStart в IC ? Assasin, мне handle как раз и неизвестен, прочитать его сверху я не могу ![]() |
|||
карма: 19 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Леонид писал(а): Где же мне найти такой менеджер, который передаст handle выработанный компонентом BASS_RecordStart в IC ?codegen.dll ![]() ![]() |
|||
карма: 10 |
|
Ответов: 8961
Рейтинг: 824
|
|||
Assasin, ни разочка не работал с codegen.dll
![]() nesco, пошёл по проторенному пути: вывел handle на нижнюю точку: hiBASS_RecordStart.pas писал(а): unit hiBASS_RecordStart;
. . private FHandle:HRECORD; . . procedure _var_Handle(var _Data:TData; Index:word); . . [color=red]procedure THIBASS_RecordStart._var_Handle; begin dtInteger(_Data, FHandle); end;[/color] end. цветом выделено добавление, но тут меня поджидала неудача - на выходе отрицательное число -2147483647, и как я ни пытался преобразовать в строку, в int64 ничего не получилось ![]() ![]() |
|||
карма: 19 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид, еще раз тебе повторяю, строка не может никоим образом соотносится с указателем. Указатель -- это адрес памяти.
------------ Дoбавленo в 19.53: И вообще, что ты собираешься сделать и для чего такие заморочки ![]() ------------ Дoбавленo в 19.56: Короче, постарайся описать подробнее задачу |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, я хочу в IC обработать данные FFT полученные от BASS, но для этого мне нужен Handle запущенного через BASS_RecordStart канала.
В старых версиях HiAsm мне это удавалось (см. мой предыдущий пост), а с BASS_2.4 не удалось. |
|||
карма: 19 |
|