Вот развлекался - Bass без Bass.dll http://forum.hiasm.com/forum_serv.php?q=56&id=3844 , может кому пригодиться.
Заменяем Bass.pas на Bass.pas из архива, предварительно сохранив "фирменный".
Вопрос:
Почему на столько больше, чем стандартный Bass.pas?
Ответ:
Потому что туда засунут Bass.dll.
Вопрос: Почему полученный модуль больше, чем исходная DLL?
Ответ: Для того чтобы "вписать" данные внутрь *.pas-файла, используется массив байт. На описание 1байта данных уходит 4байта (символа) текста. Т.к. на запись каждого байта уходит 4байта, то: результат = размер(DLL)*4… Данные вряд ли будут записываться иначе!
Когда скомпилируется, тогда всё устаканится.
P.S.
Чтобы не возникало вопросов, в архив положил DLLLoader.pas.
Этот топик читают: Гость
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
| ||
Голосовали: | sla8a, LainX, tig-rrr, Konst, Lora, Net2Com |
Ответов: 8932
Рейтинг: 823
|
|||
flint2, хорошо бы ещё растолковать плюсы и минусы предлагаемого
![]() |
|||
карма: 19 |
|
Ответов: 2059
Рейтинг: 132
|
|||
А плюсов и минусов тут нет.
Всё дело вкуса. Меня например раздражает, когда за exe тянется шлейф dll. А бывает, что с архивом и нужные dll не удосужатся положить, вот начинается переписка, или рысканье по интернету. ...Да и вообще, меньше телодвижений. Можно вообще упаковать dll минимум, как в 2 раза. |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
flint2, раз промелькнуло в ошибках типа D:126Hiasm3блаблабла
у тебя таких путей не было при создании pas ? за реализацию мерси! нужная вещь |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Net2Com
раз промелькнуло в ошибках типа D:126Hiasm3блаблабла Вот где делал. c:HiAsmElementsdelphi ewass_newdll Ошибок, - в принципе не должно возникать по причине такого компонента. P.S. Можно так оформить любой компонент, содержащий dll. Например - sqlite3.dll. Была мысль автоматизировать этот процесс. Т.е. если есть какой то IC содержащий обращения к нескольким dll, то берёшь эти dll пропускаешь через схемку и в осадке получаешь скрипт, который можно засунуть в этот-же IC. Или формировать автоматически отдельный юнит, который указываешь в uses windows,Kol,Share, твой_юнит. Только надо ли это? Большой вопрос. А может и нужно - до кучи. (Как правильно - надо, или нужно)? |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
flint2, ....тут тебе виднее как лучше. мой уровень прокачки не дошел до баса, все на уровне простого как-то делал я...
сделать - хорошая идея и с мануалом закинуть на форум, как мне кажется. По крайней мере аналогичных вариантов я не встречал ранее... ... но вообще привинтить всю цепочку библиотек к компоненту нужно, его интегрировать рядом с легким графическим изменением говорящем о "все в одном" ,а там на выбор кому-что я предпочитаю 1 exe ![]() code_34997.txt про этот басс блин... ![]() Я тут с компонентом- саундбуфер от баса третьи сутки ковыряюсь. это песня. tcp поток переполняет его при затыканиях wi-fi и валит всю схему похоже. звук небходим с минимальными задержками. вариант ip телефонии. и так и этак. хоть отдельный exe делай для него. |
|||
карма: 0 |
| ||
файлы: 1 | code_34997.txt [1.3KB] [804] |
Ответов: 2059
Рейтинг: 132
|
|||
Честно сказать, я не врубился в суть из приведённой выше схемы.
Я понял так, что при нарушении связи поток не восстанавливается. Или при нарушении связи в буфер продолжает что-то писаться? Недостающий кусок схемы может быть таким? code_35000.txt Или я чего-то не догоняю? Правильно я понимаю, конечная цель - записать поток в файл, а потом слушать? P.S. Понял. Приведённый пример - бальзам и ополаскиватель в одном флаконе. А с wi-fi так и не понял конечной цели. |
|||
карма: 6 |
| ||
файлы: 1 | code_35000.txt [5.5KB] [754] |
Ответов: 209
Рейтинг: 1
|
|||
по схеме моей выше. по ней можно выгрузить любой файл из самого приложения.любой файл если он нужен в ходе работы. если к нему обращение стоит не при старте самого приложения так как делает это басс
![]() не-не-не...не в файл. задача стоит через tcp звук выдавать клиенту без задержек, ip телефон вообщем буфер когда маленький - переполняется с произвольными ошибками, когда большой отстает...(за счет плохой связи) пытаюсь учесть это все и причесать схему к нормальному для пользователю режиму работы... схема работы ip на ip поглядеть бы наработки тех кто уже подобное делал, было бы здорово |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
поглядеть бы наработки тех кто уже подобное делал, было бы здорово В 1999 году я сделал проект по ip телефонии для ЗАО "Корпорация О.С.С." [url] http://www.ispreview.ru/company/66/korporaciya-o-s-s.html[/url] и Romtelecom http://en.wikipedia.org/wiki/Romtelecom. Даже лицензии для них получал. ![]() Тогда это было модно. ![]() Только я всё строил на Сisco, Marconi, Huawei... - т.е. аппаратно. Задачу понял. Дай срок. Вечером, или завтра подумаю, что можно сделать. P.S. когда большой отстает...(за счет плохой связи) А как это понимать? Т.е. задержка по времени на ту паузу, когда связи не было? Так от этого никуда не денешься. Сколько связи не было, на столько времени и задержится передача. |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
во. идея в том что пусть вместо слово ЛАМПОЧКА дойдет ЧКА ... остальное потеряется... это устраивает.. если затыкается связь
чем придет лампочка раза 2 когда связь наладится и переполнением вызовет краш ![]() если будет интересно выложу почти готовый аналог видеосвязи со звуком схемой ![]() |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Из софтовых решений мне ничего путного не попадалось, даже из фирменных Tele2, ispa...
Все работают плохо, с задержкой. Может сейчас чего изменилось, но вряд-ли. если будет интересно выложу почти готовый аналог видеосвязи со звуком схемой Давай. Легче будет разобраться. |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
ок. причешу лишние ошибки. выложу к вечеру.
ранее по схеме можно было по 127.0.0.1 проверять, но сейчас проверяю переполнение буфера за счет ошибок коммутации на одному порту. Разбросал на несколько по-этому 2 комп нужен будет если решишь тестировать. Ну или ноут. на самом деле очень интересно все это ------------ Дoбавленo в 22.33: личку проверь ![]() ------------ Дoбавленo в 23.05: flint2, теоретически если с каждым stream передавать его размер и проверять перед занесением в буфер можно избежать варианта рваного пакета, но как это реализовать я еще не придумал. с другой стороны может быть не рваный пакет вешает а выдача стрима большего в разы чем сам буфер, и опять же не знаю каким образом можно при такой выдачи отсечь большой размер и избежать переполнения. |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
личку проверь У меня такого не наблюдается. В смысле лички пока нет. теоретически если с каждым stream передавать Теоретически если речевой поток разбивать по паузам, то не будет рваных пакетов и не будет стрима большего в разы чем сам буфер. |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
flint2, а icq номер есть ?
flint2 писал(а): Теоретически если речевой поток разбивать по паузам, то не будет рваных пакетов и не будет стрима большего в разы чем сам буфер.разбивать ? я пытался смоделировать это задержкой - не получилось,хотя в начале думал вот вот оно ![]() ошибка вываливается мол can not be read at adress 230948759327блаблабла новый пакет приходит - новой еррор так раз 20 и в конце крэш смоделировать так - обе копии на 2х компах в сети, где второй комп на плохой связи (по типу wi-fi)
еще была мысль что мощи компа не хватает обрабатывать картинку и звук и лажа с крешом у связи между стримкреате и буфером в момент загрузки или подвисона tcp компонента еще есть мысль что пониженная компом для простоя частота проца в момент пиковой нагрузки вешает в схеме цепь в том числе работу с паматью буфера. эта мысль появилась после того как при мгновенном запуске в простое словил крэш. но при повторном когда частота поднялась на максимум - схема отработала без глюк. может загнать в искуственную нагрузку машину перед стартом алгоритма преобразования картинок и звуков в потоки ? |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
У меня 2 компа, но эксперимент не получается, потому что соединены через 100 мегабитный свичь (не хаб).
Какую схему не запущу, все работают без ошибок. разбивать ? Да. На передающей стороне. По паузам молчания более 2-3 секунд. Как уплотнение работает. Паузы, понятное дело, не передаются. С видио отдельная песня. Если из файла, то понятно. А в реальном времени, какие пакеты пропали, то пропали и на них не должен приходить повторный запрос с принимающей стороны и отправляющая сторона не должна пытаться передать сбойный пакет повторно. Скорее всего от этого всё и падает. Тут никакие буферы не помогут. Их надо выкинуть. Или писать всё в файл, а дальше классика жанра. Для видионаблюдения не подойдёт, а для конференции даже очень вполне. Понятное дело в MPEGе и звук тоже. а icq номер есть ? Нет. lev55@ro.ru |
|||
карма: 6 |
|