Klingt ja alles ganz logisch und sogar verständlich. Aber ich muß da irgendwo noch nen grundlegenden Denkfehler haben. Folgendes Beispiel soll mal kurz zeigen, wie ich mir das dachte:
Delphi-Quellcode:
unit devices;
interface
uses kl2700,Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, StdCtrls, ExtCtrls;
type
TDevice1 =
class(TForm)
procedure DevCBChange(Sender: TObject);
procedure DevRep;
private
public
end;
implementation
var Dev1 : TDevice1;
procedure TDevice1.DevCBChange(Sender: TObject);
begin
ShowMessage('
Läuft');
end;
procedure TDevice1.DevRep;
const DevNames:
array[0..5]
of ShortString = ('
KL2700','
KL487','
KL195','
HP3440','
HP4284','
HP6622' );
var ListItem: TStrings;
i,IndexDList: Integer;
st_d1:
String;
begin
with TCombobox.Create(Dev1)
do
begin
Parent:=Dev1;
top:=12;
left:=8;
For i:=0
to 5
do
begin
IndexDList := Items.Add(DevNames[i]);
end;
ItemIndex:=0;
OnChange := DevCBChange(Dev1);
//hier kommt besagte Fehlermeldung "Inkompatible Typen..."
end;
end;
So und da der Kompiler diese
Unit vor der mit dem Hauptformular erzeugt, kanns ja nicht an dem Aufruf von da aus liegen. Er bricht ja hier schon ab.
Woran kann das liegen?
-c-