Hola
Gracias por tu paciencia, he visto mi super-mega error xD vamos a dejarlo aparte... Confundí importar librerias con poner en usues (estoy ufuscadooo)
He agregado el ActiveX i el ComObj en uses pero sigo con lo mismo el _Catalog no me lo reconoce.
Pongo el codigo que estoy probando (es un proyecto nuevo para no cargarme el bueno, quando funcione ya lo pasaré al bueno) decir que es un copia pega de tus trucos
Código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActiveX, ComObj; //2 uses añadidos
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
DATABASENAME = 'c:\temp\BaseDatosNueva.mdb';
var
Catalog: _Catalog;
ConnectionString:String;
begin
// Create a Catalog Object
Catalog := CreateCOMObject(StringToGUID('ADOX.Catalog')) as _Catalog;
// Set the Connection String
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
DATABASENAME;
try
// Create new Access database
Catalog.Create(ConnectionString);
except
on E:EOLEException do begin
// Levantamos la excepción
MessageDlg('Error al crear la Base de Datos; Mensaje:' +
E.Message, mtError, [mbOK], 0);
end;
end;
end;
end.
i Aquí la lista de errores :s
Código:
[Error] Unit1.pas(30): Undeclared identifier: '_Catalog'
[Error] Unit1.pas(34): Operator not applicable to this operand type
[Error] Unit1.pas(40): Missing operator or semicolon
[Error] Unit1.pas(40): Incompatible types: 'TComponent' and 'String'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'