Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
никто не встречал примера простого encoder'а работающего с mp3 на входе и выдающего его же только с другими параметрами ?
 
Добавлено:
Arvur
хрен их знает где они, для меня главное что вместо пустой страницы начали показываться надавние проэкты, и то приятно....
Я воопче не могу понять кто и с каких делов ее в прынципе сваял, и почему багленд не может сам сделать че нить подобное и добавить наконец в свои апдейты и хотфиксы...

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 17:48 04-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Erazer
Грабли нашлись, ответ здесь. Обсуждение плавно переползает туда  
Про эту багу (и еще одну) я автору написал. Кто сваял можно прочитать в пункте readme

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 18:13 04-09-2006
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто подскажет, возможно ли и как это сделать - привязать прогу к конкретному компьютеру, с целью недопущения ее копирования на другой?
типа, скопировал на другой, а прога не запускаца...
спасибо.

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 08:32 05-09-2006
nuker2015



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
George_Lucky
К номеру винчестера, Сетевухе, Биос, Процессор.
Есть куча подобных компонентов, сейчас точно не вспомню.
Сам решай к каким параметрам прицепляться, к винту я лично не рекомендую, т.к может достаточно часто меняться.
Google и SourceForge помогут.

Всего записей: 132 | Зарегистр. 26-10-2005 | Отправлено: 09:37 05-09-2006
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YFred

Цитата:
Есть подозрение, что это зависит от класса DataSet'а.  

ну так попробуйте...
1)  
AdsQuery1.IndexFieldNames := 'имя_невычисляемого_поля';
AdsQuery1.First;  
убедились, что работает. Если работает, тогда  
2)
 AdsQuery1.IndexFieldNames := 'Мое_выч_поле';  
 AdsQuery1.First;  
 
чего спрашивать, если вы ещё не проверили, работает предложенный вам вариант или нет.
Вот если не работает - напишите об этом и кто-нибудь, поопытнее и помудрее, чем я, обезательно вам поможет.

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 10:46 05-09-2006
Narrator

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня обнаружилась ошибка в поведении окон (а может не только у меня - прошу проверить). В тестовом приложении две формы - основная и создаваемая в рантайме. Ошибка в том, что не закрывается дочернее  окно после минимизации и востановления приложения ни програмно, ни крестиком, ни по Alt+F4. Проверил в BDS2006 и D7. Код тестового приложения далее
Подробнее...
 
в качестве Form2 - стандартная пустая форма.
 
Как проверить:
1. Запускаем и жмем Button1. Появляется дочернее окно.  
2. Минимизируем приложение и ждем больше 5 сек.  
3. Восстанавливаем. Дочернее окно вылазит тоже, хотя программно отправлена команда спрятаться.
4. Пробуем закрыть дочернее окно.... у меня никак.
 
Как его убрать? Что за ошибка?

Всего записей: 17 | Зарегистр. 09-06-2003 | Отправлено: 17:00 05-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Narrator
Косяк вполне в духе VCL - не доделанная обработка сообщений в не самых распространенных вариантах поведения. Причем ошибки сразу 2:
1. Не закрывающееся окно - в методе Hide свойству Visible присваивается False, а само свойство в свою очередь проверяет - если новое значение равно текущему, то ничего не делать. TForm при обработке сообщения SW_SHOWWINDOW (которое и вызывается при разворачивании приложения из трея) не меняет значение Visible - в результате после твоего Hide Visible зависает в False.
2. Появление окна после Hide - при разворачивании приложения тот же обработчик SW_SHOWWINDOW опираясь на поле FShowAction вызывает на себя ShowWindow, а запоминает при сворачивании, свойство Visible же при скрывании окна это поле в saIgnore не сбрасывает.
 
Может помочь такая доработка TForm2 (хотя не факт что где нибудь в другом месте это не аукнется - слишком уж все завязано одно на другое): Подробнее...

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 21:46 05-09-2006 | Исправлено: RomanTim, 22:06 05-09-2006
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Narrator
Сделай
Form2.Free;
когда останавливаешь таймер. Само собой, этот способ подойдет только если тебе не нужна эта форма после отработки таймера.
 
 
Добавлено:
RomanTim
Какой же это косяк VCL?
форма 2 в свернутом положении приложения имеет свойство визибл, равное false. Т.е. она уже невидима.
 
Narrator
2-й способ.
Обработать событие OnRestore для приложения и в нем "спрятать" форму 2.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 22:09 05-09-2006
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как отловить момент когда окно переходит из полноэкранного режима в обычный

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 00:32 06-09-2006
nuker2015



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andead
дак события: onCanResize , onResize , onActivate

Всего записей: 132 | Зарегистр. 26-10-2005 | Отправлено: 05:46 06-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
afiget
По твоему так и должно быть? Попробуй по таймеру выводить в заголовок второй формы ее Visible и поуправлять ею через ShowWindow - очень интересно смотреть на форме что ее Visible оказывает False. То же происходит и при разворачивании - форма на экране, а VCL считает что ее тут нет.
А Visible = False у свернутой формы становится не когда она свернулась, а когда у нее основная форма вызвала Hide.  
 
andead
nuker2015

Цитата:
дак события: onCanResize , onResize , onActivate

Последнее если фокус с формы не уходил вообще не вызывается, а в первых двух WindowState возвращает то значение, из которого происходит изменение, да и вызываются при любом изменении размеров.
Смотри WM_SYSCOMMAND - там явно говорится - minimize, maximize или restore

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 07:58 06-09-2006 | Исправлено: RomanTim, 08:07 06-09-2006
Narrator

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
Form2.Free - действует конечно, но слишком репрессивно... Будем убеждать...
 
Прав RomanTim. Корень ошибки в том, что не сбрасывается FShowAction в SetVisible формы, что в дальнейшем приводит к отображению окно (через обработчик WM_SHOWWINDOW), которое не должно быть видно. Решил перекрытием Visible,  Hide и копированием WM_ShowWindow. Почти как у RomanTim...
Подробнее...

Всего записей: 17 | Зарегистр. 09-06-2003 | Отправлено: 13:30 06-09-2006
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
По моему должно быть так, как это описано в документации и реализовано в классе. И ожидать чего-либо другого не стоит :)

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:01 06-09-2006
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur
бум иметь ввиду пасибки.

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 16:03 06-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
afiget
В документации я что-то не видел описания таких тонкостей поведения окон, а на счет правильно то что написано... так вроде программистов борланда пока не канонизировали и ошибаются они как и все остальные люди

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 17:20 06-09-2006
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
где можно достать все апдейты для 6-ой Delphi?

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 01:44 07-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
andead
_http://bdn1.borland.com/cgi-bin/surveys/thanx.cgi?del6reg_updates_down
Кажись оно.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 02:10 07-09-2006
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur
там просят логин и пароль((
забыл добавить что нужно для Enterprice версии, если это имеет значение
 
Добавлено:
вот нашёл кажись, может ещё кому понадобится
_ftp://ftpd.borland.com/12347/devsupport/delphi/d6/D6_upd2_ent.exe
33,2mb

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 02:39 07-09-2006
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посмотрите плз правильно ли я перевел с С++ вот этот фрагментик ?
 
_declspec(dllexport) _stdcall void Stereo2Mono(short *instereo, short *outmono, int bytes)
{
int a;
for (a=0; a<bytes/4; a++)
outmono[a]=(instereo[a*2]+instereo[a*2+1])/2; // mono=(left+right)/2
}
 
Кажись * тут (*instereo) значит указатель, но я не пойму как это перевести правильно
 
procedure Stereo2Mono(instereo: PSmallInt; outmono: PSmallInt; bytes: integer);
var
a: integer;
begin
  for a:=0 to (bytes div 4)
  do
  outmono[a]:= (instereo[a*2]+instereo[a*2+1]) div 2;
end;
 
В любом случае делфя выдает "[Pascal Error] : E2016 Array type required ?" я то ее понимаю,  
но как правильно оформить не знаю...

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 17:11 07-09-2006
KRS545

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В сях instereo и outmono похоже динамические массивы, а bytes их размер.
type
  arr = array of byte;
  procedure ToDo(a:arr);
   
var  
  qq:arr;
 
потом где-то должно быть SetLength(qq,bytes)
ну и вызываем процедуру
 
ToDo(qq);

Всего записей: 91 | Зарегистр. 12-06-2005 | Отправлено: 18:51 07-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru