AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi E2010 Inkompatible Typen: 'Integer' und 'Pointer'
Thema durchsuchen
Ansicht
Themen-Optionen

E2010 Inkompatible Typen: 'Integer' und 'Pointer'

Ein Thema von bl3nder · begonnen am 8. Aug 2008 · letzter Beitrag vom 12. Aug 2008
 
bl3nder

Registriert seit: 18. Aug 2006
89 Beiträge
 
#1

E2010 Inkompatible Typen: 'Integer' und 'Pointer'

  Alt 8. Aug 2008, 15:12
Hallo,


Ich versuch mich grade an einem Model View Controller. Hierzu habe ich unter anderem 2 Units die mit einander kommunizieren.

Model.pas
Model_Database.pas


Model_Database.pas sieht vereinfacht so aus:


Delphi-Quellcode:
unit Model_Database;

interface

uses
  ZConnection,ZDataset,DBgrids, ZAbstractRODataset,
  ZAbstractDataset,ZSysUtils,ZPlainMySqlDriver,DB,Classes;

type

  TDatabase = class(TObject)
  private
    SQLQuery: TZQuery;
    DataSource: TDataSource;
    SQLConnection: TZConnection;
  public
    constructor Create();
    function DBSearch: TList; virtual; abstract;
    //...
  end;





  TWorkStationSearch = class(TDatabase)
  private
  public
    function DBSearch: TList; override;
  end;




implementation

uses Model;


//...


function TWorkstationSearch.DBSearch: TList; override;
var List: TList;
begin
  SQLQuery.SQL.Text := 'SELECT * FROM Workstations';
  SQLQuery.Open;

  while not SQLQuery.EOF do
    List.Add(SQLQuery.FieldByName('WorkstationID'));

  Result := List;
end;



end.


Model.pas sieht verkürtzt so aus

Delphi-Quellcode:

unit Model;

interface

uses
  ZConnection,ZDataset,DBgrids, ZAbstractRODataset,
  ZAbstractDataset,ZSysUtils,ZPlainMySqlDriver,DB,Contnrs,Classes,SysUtils,
  Model_Database;

type
  

  TMain = class(TObject)
  private
  public

    function DBSearch(): TObjectList; Virtual; Abstract;
    //...
  end;


//...


  TWorkstation = class(TMain)
  private
    ID: Integer;
    Username: String;
    Room: String;
    FormerUserName: String;
    Documentation: String;

  public
    constructor Create(DatabaseID: Integer);
    destructor Destroy();


    function GetUsername: String;
    
    //...

  end;




  TWorkstationSearch = class(TMain)
  private
  public
    function DBSearch(): TObjectList; Override;
  end;




implementation

constructor TWorkstation.Create(DatabaseID: Integer);
begin
  ID := DatabaseID;
  Username := 'testname'+IntToStr(DatabaseID);
  Room := '123';
  FormerUsername := 'alt';
  Documentation := 'nc';
end;




function TWorkstation.GetUsername;
begin
  Result := Username;
end;



function TWorkstationSearch.DBSearch;
var WsSearch: Model_Database.TWorkstationSearch;
var Workstation: TWorkstation;
var List: TList;
var WsList: TObjectList;
var I: Integer;
begin
  I := 0;
  List := WsSearch.DBSearch();
  while (I<List.Count) do
  begin
    Workstation.Create(List[I]); // <------------------ FEHLERZEILE
    WsList.Add(Workstation);
    Workstation.Destroy;
    Inc(I);
  end;

  Result := WsList;
end;



end.


Beim Kompilieren von Model.pas sagt er mir dann den folgenden Fehler:

Zitat:
[Pascal Fehler] Model.pas(279): E2010 Inkompatible Typen: 'Integer' und 'Pointer'


Wieso ist die Liste nicht eine Liste von Integern ? So habe ich es doch in obigen Funktion deklariert. Oder etwa nicht ?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz