Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 15:55   #1
dimGangboy
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 10
По умолчанию Form destroy & create

Господа профессионалы, подскажите как быть!
Хочу подключить таблицу аксес., вот код..
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM db1');
ADOQuery1.Active:=True;
except
on e:Exception do

begin
CoInitialize(nil);
if FAILED(Initializ) then
    Begin
      ShowMessage('Âíèìàíèå! Ïðîèçîøëà îøèáêà ïðè èíèöèàëèçàöèè');
      Exit;
    End;
if Listbox1.Count>0 then
    Begin
        if FAILED(CreateGraph) then
            Begin
              ShowMessage('Âíèìàíèå! Ïðîèçîøëà îøèáêà ïðè ïîñòðîåíèè ãðàôà ôèëüòðîâ');
              Exit;
            End;
    end else
            Begin
              ShowMessage('Âíèìàíèå! Êàìåðà íå îáíàðóæåíà.');
        
            End;
     end;
     end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
        pEnum := NIL;
        pDevEnum := NIL;
        pMoniker := NIL;
        PropertyName := NIL;
        DeviceName:=Unassigned;
        CoUninitialize;// äåèíèöèàëèçèðîâàòü OLE COM
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
if ListBox1.Count=0 then
    Begin
       ShowMessage('Êàìåðà íå íàéäåíà');
       Exit;
    End;
if FAILED(CreateGraph) then
    Begin
      ShowMessage('Âíèìàíèå! Ïðîèçîøëà îøèáêà ïðè ïîñòðîåíèè ãðàôà ôèëüòðîâ');
      Exit;
    End;
end;
end.
Пишет что ядро jet не может найти вх табл или запрос db1, хотя подключил TDataSource; TADOConnection; TADOQuery;

Последний раз редактировалось Stilet; 23.01.2013 в 16:10.
dimGangboy вне форума Ответить с цитированием
Старый 23.01.2013, 16:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CoInitialize(nil);
Это здесь зачем? Ты что в потоке подключаешся?
Кстати это нужно вызывать до создания объекта ADO
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2013, 16:18   #3
dimGangboy
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 10
По умолчанию

Да у меня прога для передачи потокового видео с камеры в panel1 и граб изображения в panel2.image1. Так вот это изображение + коментарии в edit надо и занести в базу. как вызвать до создания ADO? надо по кнопке сохранить изображение и записать в базу

Последний раз редактировалось dimGangboy; 23.01.2013 в 17:18.
dimGangboy вне форума Ответить с цитированием
Старый 23.01.2013, 17:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ясно. С потоками (сопроцессами, треадами и т.д.) ты не работаешь. И получается CoInitialize и CoUninitialize лишне.
db1 это что? Таблица? Представление? Как приписано ConnectionString?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2013, 18:08   #5
dimGangboy
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 10
По умолчанию

bd1 - база eccess. Да у меня прога для передачи потокового изображения с камеры в panel1 и граб изображения в panel2.image1.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,  StdCtrls, ExtCtrls, directshow9, ActiveX, Jpeg, WinInet, IniFiles,
  DB, ADODB, Grids, DBGrids;


type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Panel1: TPanel;
    Button1: TButton;
    Panel2: TPanel;
    Image1: TImage;
    Button2: TButton;
    Button3: TButton;
    function CreateGraph: HResult;
    function Initializ: HResult;
    function CaptureBitmap: HResult;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  IniFile: TIniFile;
  DeviceName:OleVariant;
  PropertyName:IPropertyBag;
  pDevEnum:ICreateDEvEnum;
  pEnum:IEnumMoniker;
  pMoniker:IMoniker;
  i:integer;

MArray1: array of IMoniker; //Это список моникеров, из которго
//мы потом будем получать необходмый моникер


//интерфейсы
    FGraphBuilder:        IGraphBuilder;
    FCaptureGraphBuilder: ICaptureGraphBuilder2;
    FMux:                 IBaseFilter;
    FSink:                IFileSinkFilter;
    FMediaControl:        IMediaControl;
    FVideoWindow:         IVideoWindow;
    FVideoCaptureFilter:  IBaseFilter;
    FAudioCaptureFilter:  IBaseFilter;
//область вывода изображения
    FVideoRect:           TRect;

    FBaseFilter:          IBaseFilter;
    FSampleGrabber:       ISampleGrabber;
    MediaType:            AM_MEDIA_TYPE;


implementation

{$R *.dfm}

function TForm1.Initializ: HResult;
begin
......
end;

function TForm1.CreateGraph:HResult;
.........
end;

function TForm1.CaptureBitmap: HResult;
var
  bSize: integer;
  pVideoHeader: TVideoInfoHeader;
  MediaType: TAMMediaType;
  BitmapInfo: TBitmapInfo;
  Buffer: Pointer;
  tmp: array of byte;
  Bitmap: TBitmap;
begin
......
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
.....
end;

procedure TForm1.Button1Click(Sender: TObject);
//Вызов страницы свойств Web-камеры
var
  StreamConfig: IAMStreamConfig;
  PropertyPages: ISpecifyPropertyPages;
  Pages: CAUUID;
Begin 
....
end;
+ что в первом посте.

Последний раз редактировалось Stilet; 23.01.2013 в 21:32.
dimGangboy вне форума Ответить с цитированием
Старый 23.01.2013, 21:36   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
bd1 - база eccess.
Тебя сложно понять, но все же стелепатирую:
Цитата:
SELECT * FROM db1
это запрос к базе с именем db1. Запросы к базам не бывают.
Можно послать запрос к таблице или любому обьекту внутри базы данных но никак не к самой базе.
Уточняй какие у тебя в ней таблицы, и используй их имена в запросе. Например
Код:
SELECT * FROM Таблица1
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.01.2013, 13:18   #7
dimGangboy
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 10
По умолчанию

спасибо, а то вся работа встала из-за этого запроса.во всем остальном уже разобрался!!!!
dimGangboy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ощибка создания MDI формы. Cannot create form. No MDI forms are currently active LISTAT Общие вопросы Delphi 1 26.05.2012 21:06
Ошибка form.Show в create gufon Общие вопросы Delphi 4 17.03.2011 18:52
Create Form Бутаков_Сергей Помощь студентам 5 17.02.2010 08:58
Form.Create Romzes2 Общие вопросы Delphi 12 26.12.2008 23:39
Form.Show в Form.Create UnD)eaD)Snake Общие вопросы Delphi 6 07.09.2007 11:13