Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ПРоблема с формой в длл


Zalm ©   (2009-11-09 13:36:00) 

Запихнул форму в длл, вроде работает кроме одного но, с компонентами не работает, а когда обычная форма то всё хорошо. Вот код:


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DSUtil, StdCtrls, DSPack, DirectShow9, Menus, ExtCtrls;

type
 TForm1 = class(TForm)
   FilterGraph1: TFilterGraph;               //
   SampleGrabber1: TSampleGrabber;    //
   Filter1: TFilter;                              //  Без всех этих компонентов работает
   VideoWindow1: TVideoWindow;        //
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

 Procedure ShowTime; stdcall;
 Procedure ShowForm; stdcall;

 exports ShowTime, ShowForm;

implementation

{$R *.dfm}

Procedure ShowForm;
begin
if Form1=nil then Form1:=TForm1.Create(application);  // EAssertionFailed in module new.dll at  ...
end;

Procedure ShowTime;
begin
ShowMessage(TimeToStr(now));
end;

end.


из-за чего такая ошибка?


Игорь Шевченко   (2009-11-29 01:21:00) [1]


> да, отлаживать там нечего было, скачал последнюю версию
> компонентов и всё заработало)


Ты в следующий раз сразу версию качай, а не на форуме флуди


Zalm   (2009-11-28 04:05:00) [2]

да, отлаживать там нечего было, скачал последнюю версию компонентов и всё заработало)


Сергей М.   (2009-11-11 20:03:00) [3]


> что тут отлаживать?


Трассировать конструирование компонента, которое происходит  в ходе коycnhebhjdfybz ajhvs/


> вина в компоненте


Да ты что ?!
А мужики-то и не знают ..


Zalm   (2009-11-11 17:24:00) [4]

и что тут отлаживать? вина в компоненте


Сергей М.   (2009-11-11 09:08:00) [5]


> что я должен отлаживать

Как это что ?

Вот это, разумеется:
Form1:=TForm1.Create(application)


Германн   (2009-11-11 00:44:00) [6]


> ибо нужно использовать TVideoWindow, а вот в длл этот компонент
> не запихнуть

Ну так попробуй "запихнуть" в bpl.


Zalm   (2009-11-11 00:32:00) [7]

Вобще проблема конкретно из-за TSampleGrabber :(
И что я должен отлаживать по вашим советам?


Zalm   (2009-11-10 23:28:00) [8]

полюбому


Сергей М.   (2009-11-10 15:40:00) [9]


> в длл этот компонент не запихнуть, и в дата-модуль тоже


Не лезет ?)


Zalm   (2009-11-10 15:35:00) [10]

нет, сподвигнула не мода, а компоненты. Мне нужно с веб-камеры сделать фотку, если использовать обычное окно то у меня получается, ибо нужно использовать TVideoWindow, а вот в длл этот компонент не запихнуть, и в дата-модуль тоже. Так как я не знаю как через DSPack сделать нуллрендер то приходится использовать форму.


Германн   (2009-11-10 00:56:00) [11]


> А кто ж тебя, болезного, на это сподвигнул?

Мода.


Leonid Troyanovsky   (2009-11-09 22:34:00) [12]



> Zalm ©   (09.11.09 13:36)  

> Запихнул форму в длл, вроде работает кроме одного но, с

А кто ж тебя, болезного, на это сподвигнул?

--
Regards, LVT.


Игорь Шевченко   (2009-11-09 19:53:00) [13]


> Что отлаживать-то?


код обычно отлаживают.


Zalm   (2009-11-09 19:39:00) [14]

Что отлаживать-то? сказали бы хоть что-то конкретное...


Игорь Шевченко   (2009-11-09 18:00:00) [15]

Автор, отлаживать не пробовал ? Попробуй, архиувлекательное занятие


Сергей М.   (2009-11-09 16:54:00) [16]


> почему возникла такая ошибка?


"из-за чего" и "почему" - это одно и тоже)
Поэтому см. [1]


> что надо сделать что бы её не было?


Либо убрать этот вызов, либо задействовать $ASSERTIONS OFF, либо обеспечивать истинность условия, проверяемого в вызове Assert


Zalm   (2009-11-09 16:51:00) [17]

хех... а можете сказать почему возникла такая ошибка? и что надо сделать что бы её не было?


Сергей М.   (2009-11-09 13:41:00) [18]


> из-за чего такая ошибка?


Кто-то где-то вызвал процедуру Assert и передал ей 1-м параметром False


Наверх

Титульная страница Поиск, карта сайта Написать письмо