Newbie: Create primary key with ADOX

Moin!

I need help please creating a Access2000 table with ADOX.

By now, I create a catalog, a table and a column.

I want to set the column-Index to "yes(without duplicates)" and the column
should have the primary-key.
But I always get a EOLEException.

What am I doing wrong?

All advice is welcome.
Thanks, Andre

P.S: Pardon my poor english

Code:
----------------------------------------------------------------------------
---
  ADOXCatalog := TADOXCatalog.Create(nil);
  ADOXTable := CoTable.Create;
  ADOXIndex := CoIndex.Create;

  try
     ADOXCatalog.Create1('Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\new.mdb');

     ADOXTable.Name := 'MITARBEITER';

     ADOXColumn := CoColumn.Create;
     ADOXColumn.Name := 'ID';
     ADOXColumn.Type_ := adInteger;
     ADOXColumn.ParentCatalog := ADOXCatalog.DefaultInterface;
     ADOXColumn.Properties['AutoIncrement'].Value := True;
     ADOXColumn.SortOrder := adSortAscending;

     ADOXTable.Columns.Append(ADOXColumn, adInteger,
ADOXColumn.DefinedSize);

     ADOXCatalog.Tables.Append(ADOXTable);

     ADOXIndex.Name := 'IDX1';
     ADOXIndex.PrimaryKey := true;

     this causes EOLEException: ADOXIndex.Columns.Append(ADOXColumn,
adInteger, ADOXColumn.DefinedSize);

     this causes EOLEException:
ADOXCatalog.Tables['MITARBEITER'].Indexes.Append(ADOXIndex, ADOXColumn);

  finally
     ADOXCatalog.free;
  end;
----------------------------------------------------------------------------
---