Начало понемногу получаться!
Если делать через MIDAS, то вылетает ошибка ОТКАЗАНО В ДОСТУПЕ
Подскажите в чем может быть ошибка?
СЕРВЕР: Состоит из Формы и Remote Data Module (+ через ado подключена БД)
На форме ничего нету а код Remote Data Module приведен далее:
Код:
unit Unit2;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
DBClient, Project1_TLB, StdVcl, Provider, DB, ADODB;
type
TServer = class(TRemoteDataModule, IServer)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSetProvider1: TDataSetProvider;
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
{ Public declarations }
end;
implementation
{$R *.DFM}
class procedure TServer.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
initialization
TComponentFactory.Create(ComServer, TServer,
Class_Server, ciMultiInstance, tmApartment);
end.
КЛИЕНТ:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBClient, MConnect, Grids, DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
DCOMConnection1: TDCOMConnection;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
DCOMConnection1.ComputerName:='192.168.0.1'; //это например
DCOMConnection1.ServerName:='Project1.Server';// Имя сервера
DCOMConnection1.ServerGUID:='{9BE3AC7C-FB4E-458A-BC37-BE4F20AF1FB1}';// GUID моего сервера
DCOMConnection1.Connected:=true;
MessageDlg(BoolToStr(DCOMConnection1.Connected),mtInformation,[mbOK],0);
ClientDataSet1.ProviderName:='DataSetProvider1';//имя провайдера
ClientDataSet1.Active:=true;
MessageDlg(BoolToStr(ClientDataSet1.Active),mtInformation,[mbOK],0);
end;
end.
Admin: Читаем правила и пользуемся тегами!
ПОСЛЕ НАЖАТИЯ НА КНОПКУ КЛИЕНТ ДОЛЖЕН ПОЛУЧИТЬ ДАННЫЕ, MESSAGEDLG ПОКАЗЫВАЕТ ЧТО КЛИЕНТ К СЕРВЕРУ ВРОДЕ-БЫ ПОДКЛЮЧАЕТСЯ (ИНАЧЕ СВОЙСТВА DCOMConnection1.Connected И ClientDataSet1.Active БЫЛИ = 0),
НО ВИНДА ВЫДАЕТ ОШИБКУ С НАДПИСЬЮ ОТКАЗАНО В ДОСТУПЕ!