How do you get your parameters for checkNTSecurity? Could one of the
parameters be calling NTUser which would explain a call to NTUser at about
the same time you are entering checkNTSecurity...
David.
----- Original Message -----
From: "Mark Derricutt" <[EMAIL PROTECTED]>
To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
Sent: Friday, April 20, 2001 3:12 PM
Subject: [DUG]: whose running this?
> Hey guys, have a WEIRD arsed problem with Delphi 4 here.... In the below
> code, the moment checkNTSecurity() hits its begin, it jumps into the
NTUser
> function, which is causing problems on some systems connected to Novel.
>
> Does anyone have any idea why the NTUser function would be getting called
> automatically? It's taxing my mind and I can't seem to spot anything that
> would be causing it....
>
> Mark
>
>
> procedure something...
> begin
> checkNTSecurity(...);
> end;
>
>
> function checkNTsecurity(uid, pwd, dbms, svr, dbname : string; ntu: string
> = '') : boolean;
> var
> db : TDatabase;
> qry : TQuery;
> begin
> result := true; // This function returns true if login prompt IS
> required
> dbms := uppercase(copy(dbms,1,3));
> if (uid <> '') and (pwd <> '') and (svr <> '') and (dbms <> '') and
> (dbname <> '') then
> try
> try
> db := TDatabase.create(nil);
> db.LoginPrompt := false;
> db.databasename := 'tmp';
> qry := TQuery.create(nil);
> qry.DatabaseName := 'tmp';
> if dbms = 'MSS' then
> db.DriverName := 'MSSQL'
> else if dbms = 'SYB' then
> db.DriverName := 'SYBASE'
> else if (dbms = 'O84')
> or (dbms = 'ORA') then
> db.DriverName := 'ORACLE';
> db.params.values['password'] := pwd;
> db.params.values['server name'] := svr;
> if db.DriverName = 'ORACLE' then
> begin
> db.params.values['user name'] := dbname;
> db.params.values['rowset size'] := '1';
> end
> else
> begin
> db.params.values['user name'] := uid;
> db.params.values['database name'] := dbname;
> end;
> db.open;
>
> if db.connected then
> begin
> qry.SQL.text := 'select nt_trusted from Control';
> qry.open;
> if not qry.eof then
> begin
> if uppercase(qry.fields[0].asstring) = 'Y' then
> begin
> if ntu = '' then ntu := NTUser;
> ntu := uppercase(ntu);
>
> qry.SQL.text := 'select nt_trusted, name, password from
> Staff where upper(name) = ''' + ntu + '''';
> qry.open;
> if not qry.eof then
> if uppercase(qry.fields[0].asstring) = 'Y' then
> begin
> result := false;
> strNTUser := qry.fieldbyname('name').asstring;
> strNTPwd :=
> Decrypt(qry.fieldbyname('password').asstring);
> end;
> end;
> end;
> end;
> except
> end;
> finally
> db.free;
> qry.free;
> end;
> end;
>
> function NTuser : string;
> var
> buffer : array [0..80] of char;
> buff_len : longword;
> begin
> buff_len := 80;
> buffer[0] := #0;
> if getusername(buffer,buff_len) then
> result := buffer
> else
> result := '';
> end;
>
> --
> There are exceptions, I'm sure, but the Windows 2000 on-line community
> seems to have, in general, the moral and spiritual qualities of your
> average porn site. (c) Bryan Pfaffenberger, Linux Journal, Jan 2001.
> --------------------------------------------------------------------------
-
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"