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

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

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

ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы Вопросы по Delphi (до версии 2009) - часть 4

Познаем сами, помогаем другим...
Обсуждаем вопросы, не связанные с юникоидными версиями Delphi - для этого есть соответствующая тема (см. ссылки ниже).

Правила топика:
    Прежде чем спрашивать:
  1. Желательно изучить вопрос, попытаться найти ответ в прилагаемых мануалах, хелпах и анализируя исходники.
  2. Выполнить поиск по топику (открыть "Версия для печати" и поискать ответ там).
  3. Применить фильтр по разделу "Прикладное программирование". Ответы на многие старые вопросы могли быть даны в отдельных темах.
  4. Продумайте вопрос. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите.
  5. Желательно указывать версии используемого компилятора и операционной системы.
    Прежде чем отвечать:
  1. Если не можете помочь, не мешайте.
  2. Если уж вы отвечаете на вопрос, давайте ответ по сути.
  3. Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа.
  4. Задавайте дополнительные вопросы, чтобы получить больше информации.
  • Отсутствие ответа не равносильно игнорированию - иногда участники форума просто не знают ответ. Повторная посылка вопроса не приветствуется. Посты типа "неужели никто не знает ответа..." или "может мне все-таки кто-нибудь ответит" недопустимы.  
  • Все большие куски кода (более 5 строк) оформляем в тег [morе] дабы уменьшить размер поста. FAQ по тегу [morе].

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:09 28-06-2009 | Исправлено: psa1974, 12:00 02-02-2010
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zakov
    Возможно придётся ещё "подвязывать" JBuilder. Проект xml-rpc наиболее удачная альтернатива. Однако, обратная противоположность DCOM, т.е. в другую сторону.
    Увязывать их вместе не надо.

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 17:23 19-03-2010
    Jj7777

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как сделать так, чтобы моя программа закрывалась вместе с другой программой, блокнотом тем же, например?  
     
    Т.е. в блокноте мы жмем на крестик и он закрывается вместе с моей программой.  
     
     
    procedure TForm1.Button1Click(Sender: TObject);    
                 var    
                   hwndHandle : THANDLE;    
                   hMenuHandle : HMENU;    
                 begin    
                   hwndHandle := FindWindow(nil, 'Untitled - Notepad');    
                   if (hwndHandle <> 0) then  
     
    А дальше не знаю как писать ((  Подскажите, плиз

    Всего записей: 4 | Зарегистр. 19-03-2010 | Отправлено: 21:15 19-03-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jj7777
    Судя по всему вам помогут хуки: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=548

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:16 19-03-2010
    cepbl



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Посоветуйте, как мне отобразить avi, чтобы снизу был ползунок, позволяющий переходить на нужное время. Я использовал компоненты Tpanel для отображения видео и Tmediaplayer. Нужен только ползунок.

    Всего записей: 17 | Зарегистр. 09-10-2009 | Отправлено: 13:08 20-03-2010
    mdid

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

    Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 16:46 20-03-2010 | Исправлено: mdid, 16:47 20-03-2010
    cepbl



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо, теперь работает.
    Еще вопрос: если я задаю тип видео(dtAVIVideo), тогда ничего не воспроизводится(хотя формат avi), поэтому формат стоит автоматический, но тогда если я хочу задать имя открываемого файла в программе, то возникает ошибка, говорит, что не может определить формат видео. Как это можно обойти?

    Всего записей: 17 | Зарегистр. 09-10-2009 | Отправлено: 23:58 20-03-2010
    zakov



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    С DCOM разобрался, грабли были в настройках компонента на сервере, надо было поставить в свойствах компонента / удостоверение / запуск от имени текущего пользователя
     
    Возник другой вопрос. Поместил сервер на MIDAS в System Tray. При старте сервера запретил отображение формы  
    Application.ShowMainForm := false;
    Ну а дальше стандартно - щелчки по иконке, popup и  т.д... Все работает отменно, если заведомо стартовать сервер...
    А вот когда сервак стартуется клиентом (клиентами) и когда при закрытии последнего клиента сервер также автоматически останавливается как и стартовал, вылетает ошибка:
    Code 1400. Недопустимый дескриптор окна.
     
    Догадываюсь, что при таком запуске, у удаленного модуля неверный HANDLE окна приложения, но как отладить, узнать где грабли не знаю... помоги-и-и-те!!!

    Всего записей: 163 | Зарегистр. 24-01-2008 | Отправлено: 03:13 21-03-2010
    mdid

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cepbl
    если вы хотите нормально воспроизводить видео и аудио то советовал бы раз и навсегда забыть про Tmediaplayer...читайте про DirectShow...она только на первый взгляд сложна
    http://directshow.wonderu.com/ тут можно черпнуть основную инфу...

    Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 12:24 21-03-2010
    zakov



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

    Цитата:
    А вот когда сервак стартуется клиентом (клиентами) и когда при закрытии последнего клиента сервер также автоматически останавливается как и стартовал, вылетает ошибка:  
    Code 1400. Недопустимый дескриптор окна.

    Неужели никто не может подсказать новичку?
     
    Пока сделал так:
    закоментил строчку Application.ShowMainForm := false;
    именно из-за нее вылетала ошибка.
    Бросил на форму таймер, который активируется при formOnCreate... В OnTimer:
     

    Код:
    procedure Tform1.timeMainTimer(Sender: TObject);
    begin
      timeMain.Enabled:=false;
      self.Hide;
    end;

     
    Теперь все работает корректно, но реализация получилась какая-то корявая. Неужели нельзя как-то иначе реализовать?

    Всего записей: 163 | Зарегистр. 24-01-2008 | Отправлено: 17:30 21-03-2010 | Исправлено: zakov, 10:31 22-03-2010
    cepbl



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mdid
    Спасибо, но мне надо только один раз этим воспользоваться, если еще понадобится, тогда изучу тот материал. Проблему с форматом я кое-как решил.
    Остался последний вопрос, в чем надо отображать документ rtf, чтобы картинки тоже отображались. Пробовал TRichEdit, так там текст выводится, а картинки нет.

    Всего записей: 17 | Зарегистр. 09-10-2009 | Отправлено: 19:57 21-03-2010
    Odysseos



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cepbl
     
    Остался последний вопрос, в чем надо отображать документ rtf, чтобы картинки тоже отображались. Пробовал TRichEdit, так там текст выводится, а картинки нет.
     
    Вот мой наследник от TJvRichEdit c некоторым количеством дополнений - и, в частности, вставкой картинок.
     
    Работа с картинками - через свойство TaggedText, которое "понимает" некое упрощенное подмножество HTML и форматирует текст в контроле в соответствии с тегами. Для вставки картинки - в TaggedText в нужном месте вставляется тег <img img_id>, где img_id - произвольный текст, соответствующий вставляемой картинке. После этого, надо создать обработчик события OnGetImage - в котором анализировать параметр Link (который как раз и есть img_id) и в зависимости от него передавать нужную картинку.
     
    Внимание! В том же архиве - модифицированный JvRichEdit.pas, которым надо заменить оригинальный, без этого наследник не откомпилируется, потому как некоторые нужные методы не помечены, как виртуальные.

    Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 21:43 21-03-2010 | Исправлено: Odysseos, 22:04 21-03-2010
    zakov



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ! Просвятите! Что такое MidasSpeedFix.pas, для чего енто надо???

    Всего записей: 163 | Зарегистр. 24-01-2008 | Отправлено: 15:29 22-03-2010
    volser

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

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 16:50 22-03-2010
    zakov



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    Спасибо за ссылку!  
    Как я понял модуль решает проблему тормозов ClientDataSet, особенной при больших объемах данных...

    Всего записей: 163 | Зарегистр. 24-01-2008 | Отправлено: 17:34 22-03-2010
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня вопрос такой, про интерфейсы. Допустим я пишу:

    Код:
     
    var  
      StrL1 : TStringList;  
      procedure p1(outk :TComponent);  
      begin  
        if (outk <> nil) and (outk is TStringList) then begin  
           if TStringList(outk).name='StrL1' then ShowMessage('StrL1') else  
           if TStringList(outk).name='StrL2' then ShowMessage('StrL2');  
        end;  
      end;  
    var
      v1: Variant;
    begin  
      StrL1 := TStringList.Create;  
      try  
        VarCast(StrL1 as IUnknown, v1, varNull);
        p1(v1);  
      finally  
        FreeAndNil(StrL1);  
      end;  // try/finally  
    end;  
     

    нужен реальный объект-интерфейс? Иначе не работает. Встречали ли Вы множественный out и как с ним быть?

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 21:46 22-03-2010 | Исправлено: delover, 13:25 23-03-2010
    greenpc

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

    Код:
    procedure Tf1.test;
    var
      StrL1 : TStringList;
      procedure p1(outk :TComponent);
      begin
        if (outk <> nil) and (outk is TStringList) then begin
           if TStringList(outk).name='StrL1' then ShowMessage('StrL1') else
           if TStringList(outk).name='StrL2' then ShowMessage('StrL2');
        end;
      end;
    begin
      StrL1 := TStringList.Create;
      try
        p1(StrL1);
      finally
        FreeAndNil(StrL1);
      end;  // try/finally
    end;
     

    Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 07:52 23-03-2010 | Исправлено: greenpc, 08:12 23-03-2010
    ShIvADeSt



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

    Цитата:
    Остался последний вопрос, в чем надо отображать документ rtf, чтобы картинки тоже отображались. Пробовал TRichEdit, так там текст выводится, а картинки нет.  

    Я использовал в свое время RxRichEdit из RxLib и у меня нормально отображались картинки

    ----------
    И создал Бог женщину... Существо получилось злобное, но забавное...

    Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 08:19 23-03-2010
    Man_Without_Face



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток, такой вот вопрос: поставил Фаст репорты 4.8 (BDS 2006), стояли 3+. Для запуска проекта пришлось поменять:
     
    implementation
    uses
      frxFormUtils на frxFileUtils
    На машинах пользователей проект не запускается, выдает ошибку:
    "Точка входа в процедуру @Frxformutils@frxErrorMsg$qqrx17System@AnSistring не найдена в библиотеке DLL frx10.bpl."  
    Пбэльку эту закидывал в корневой каталог программы и в System32, тоже самое. Можно ли это как то исправить, заранее спасибо.

    Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 09:46 23-03-2010
    SIgor33

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Man_Without_Face
    В дельфи при компиляции можно в ехешник включить все bpl и билдере скорее всего это есть

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 10:45 23-03-2010
    snike555



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Man_Without_Face
     
    SIgor33 хотел сказать что нужно убрать галочку Build with runtime packages которая находится в опциях проекта project -> options

    Всего записей: 380 | Зарегистр. 02-10-2009 | Отправлено: 11:38 23-03-2010
       

    Страницы: 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 101

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 5
    ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru