Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.12.2012, 13:58
true true вне форума
Новичок
 
Регистрация: 03.10.2010
Сообщения: 64
Репутация: 10
По умолчанию Ошибка при открытии программы

Здравствуйте, я немного извращенец, просто уже задолбался, пишу я программу для подключения сетевых хранилищ, как только не пытался, закончилось все с базой данных на основе ADO, в базе 2 таблицы одна основная куда записывается информация, в другую пишется результат сложения ячеек в одну строку, при открытии срабатывает Access Violation в Oncreate находится цикл для подключения дисков которые находятся в бд. вот код:

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
index:integer;
begin
index:=3;
   DataModule3.adoTable2.First;
   for i:=0 to DataModule3.ADOTable2.RecordCount-1 do
   begin
     WinExec(Pansichar(DataModule3.ADOTable2exec.Text),SW_HIDE);
     inc(index);
     DataModule3.ADOTable2.Next;
end;
 end;

Что я делаю не так?

Последний раз редактировалось true, 15.12.2012 в 14:02.
Ответить с цитированием
  #2  
Старый 15.12.2012, 14:03
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

На момент создания главной формы датамодуль еще не создан. Вот и валится. Делай выводы.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Aristarh Dark за это полезное сообщение:
OTVET2 (18.01.2013), true (15.12.2012)
  #3  
Старый 15.12.2012, 15:31
true true вне форума
Новичок
 
Регистрация: 03.10.2010
Сообщения: 64
Репутация: 10
По умолчанию

Спасибо, исправил, есть еще один вопрос, есть код для авторизации:

Код:
unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  ....
const
   InputBoxMessage = WM_USER + 200;
   
   
  private
   procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;
    { Private declarations }
   
   
   
procedure TForm1.InputBoxSetPasswordChar(var Msg: TMessage);
 var
   hInputForm, hEdit, hButton: HWND;
 begin
   hInputForm := Screen.Forms[0].Handle;
   if (hInputForm <> 0) then
   begin
     hEdit := FindWindowEx(hInputForm, 0, 'TEdit', nil);
     {
      // Change button text:
      hButton := FindWindowEx(hInputForm, 0, 'TButton', nil);
      SendMessage(hButton, WM_SETTEXT, 0, Integer(PChar('Cancel')));
    }
     SendMessage(hEdit, EM_SETPASSWORDCHAR, Ord('*'), 0);
   end;
 end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
s:string;
begin
PostMessage(Handle, InputBoxMessage, 0, 0);
s:= InputBox('Авторизация', 'Введите пароль к программе:', '');
if s<>'22085641'
then begin
 ShowMessage('Неверный пароль');
 halt;
 end
 else
 ShowMessage('Вы удачно авторизовались!');
end;
 

программа загружается и сворачивается в трей, если два раза щелкнуть
то вылазиет инпутбокс но вместе с формой, как сделать что форма при этом не открывалась?
Ответить с цитированием
Этот пользователь сказал Спасибо true за это полезное сообщение:
OTVET2 (18.01.2013)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025