ich habe da mal eine Grundlagenfrage. Wenn ich in der IDE zum Beispiel einen Button auf eine Form ziehe wird die Unit StdCtrls in die uses Klausel direkt unter "interface" automatisch eingefügt.
Wenn ich nun einen Typ/Befehl verwenden möchte, aber nicht weiß welche Unit ich einbinden muss kann ich ja Cody aufrufen und bei "Add Unit to implementation uses section" einen Haken machen. Mir wird dann die notwendige Unit nach "implementation" eingefügt.
Wo liegt hier der prinzipielle Unterscheid? Welche Vor- bzw. Nachteile entstehen beim Einfügen von Units im Interface bzw, im Implementationsteil des Programms? Bis jetzt habe ich nur in eigenen weiteren Units die aufrufende Unit in den Implementationsteil geschrieben um zirkuläre Referenzen zu vermeiden. Aber welchen Vorteil bringt es hier im Beispiel das die LCLIntf im Interface Teil eingefügt wird?
Edit: muss natürlich "im Implementationsteil" heißen!
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses LCLIntf;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Color := RGB(100,100,100);
end;
end.
Viele Grüße
Bernd