Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Вниз

Коннект к базе данных!!!!!   Найти похожие ветки 

 
Julya   (2002-07-23 11:01) [0]

До подключения к дазе проверяется условие - с какого компа происходит коннект к базе, в зав-ти от этого можно/нельзя редактить записи. Я беру GetComputerName(buf, nSize) и проверяю, после этого криэйчу датамодуль. Коннект должен быть в любом случае, но у меня прога почему то виснет.......
Вот без этой проверки все работало, а тут - не пойму почему....
Подскажите, пожалуйста!!!!!!!Может что не так делаю.....


 
AngeL B.   (2002-07-23 11:11) [1]

Подсказываем! Ты что-то не так делаешь...
Для более подробной подсказки нужны подробности


 
Julya   (2002-07-23 11:26) [2]

Аксессовская база, вначале криэйтится главный модуль, потом датамодуль. В форм криэйте главной формы проверяю условие - тот ли это комп, с которого можно редактить, если да, то присваиваю режим Админа, иначе- режим юзера. Дальше криэйчу датамодуль, если режим юзера - ридонли таблиц=TRUE.
После этого криэйтится другая форма, в которой открываются таблицы базы. Может прога виснет в этом месте, шут ее знает, точно сказать не могу...
но : если убрать проверку на сетевое имя компа - все работает!
Может я не в том месте проверяю????????
Помогите, пожал-ста, кто знает!!!!!!!!!!!!!


 
Julya   (2002-07-23 11:42) [3]

Вот Код:
procedure TMainForm.FormCreate(Sender: TObject);

begin
try
with TLoginForm.Create(Application) do begin
if ShowModal = mrCancel then
raise Exception.Create("Завершение работы программы"){TerminateApplication}
else begin
if (UpperCase(Edit1.Text) = ADMINPASSWORD) then
//проверка на сетевое имя компа
//если из офо, то разрешаем редактить
IF GetCompName then - если этот иф убрать, то все работает!!(((
AppMode := amAdmin
else AppMode := amUser
else
if UpperCase(Edit1.Text) = USERPASSWORD then
AppMode := amUser
else
raise Exception.Create("Пароль неверен! Нет доступа к программе."){TerminateApplication};
Release;
end;
end;

dmReis := TdmReis.Create(Self); - вот тут прога вылетает!!!Аксесс виолейшен...

dmReis.Database.Connected := True;
except
on E: Exception do begin
Application.MessageBox(PChar(E.Message), "Ошибка", MB_OK or MB_ICONERROR);
TerminateApplication;
end;
end;
end;

что неверно???помогите!!!!


 
Romkin   (2002-07-23 11:51) [4]

Текст GetCompName, пожалуйста


 
Julya   (2002-07-23 11:54) [5]

Текст функции проверки -
Function TMainForm.GetCompName : Boolean;
Const mas : array [0..11] of String = ("VTSAMIICWOPZ08","VTSAMIICSADM04","VTSAMIICWOPZ01",
"vtsamuprwofo01","vtsamuprwofo03","vtsamuprwofo04","vtsamuprwofo05",
"vtsamuprwofo06","vtsamuprwofo07","vtsamuprwofo08","vtsamuprwofo09",
"vtsamuprwofo10");
Var
buf : PChar;
nSize : Cardinal;
s : String;
i : Byte;
Begin
Result := False;
GetComputerName(buf, nSize);
s := string(buf);
For i:=0 to 11 do
if s = mas[i] then begin
Result := True;
Exit;
end;
end;


 
Romkin   (2002-07-23 12:25) [6]

Ну да, а кто для Buf память выделять будет?! Пушкин? и nSize указывать?

function GetCompName: string;
var
Buf: string;
nSize: cardinal;
begin
nSize := MAX_COMPUTERNAME_LENGTH + 1;
SetLength(Buf, nSize - 1);
GetComputerName(PChar(Buf), nSize);
SetLength(Buf, nSize);
Result := buf;
end;



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.023 c
1-35324
Blacki
2002-07-29 22:01
2002.08.12
Сохранение и загрузка различных граф форматов


14-35423
Premium
2002-07-16 20:44
2002.08.12
Я поступил!


1-35276
Kurt
2002-07-30 16:22
2002.08.12
Все о том же поиске по тексту (RichEdit, Memo)! Большие обьемы те


8-35393
DDDeN
2002-04-10 15:48
2002.08.12
Работа со звуком


1-35267
JohnBurg
2002-07-30 19:15
2002.08.12
Как можно из вызванной DLL возвращать значения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский