Hallo Allerseits!
Hab da mal ne Frage zur Komponenten-Entwicklung, respektive zum Umstricken von Delphi7-Komponenten in Delphi 2005-Packages.
Und zwar geht es darum, dass meine 2005 Personal-Version folgenden Text nicht übersetzen mag, sondern den Fehler "Der linken Seite kann nichts zugewiesen werden" ausgibt:
Delphi-Quellcode:
type
TBigLEDBitmap = class
public
BigLED_Pics: TBitmap; { BigLED Bitmap matrix - all colours, all states }
BigLED_List: TList; { List to keep track of BigLEDs created }
Trans_Color : TColor; { Bottom left pixel of BigLED Bitmap matrix }
constructor Create;
destructor Destroy; override;
end;
const
BigLEDBitmap : TBigLEDBitmap = nil;
NumRows = 4; { BigLED_PICS bitmap has four 'state' rows }
bmpHeight = 26; { Height of individual BigLED bitmap }
bmpWidth = 26; { Width of an individual BigLED bitmap }
CaptionSpacing = 5; { Spacing of Caption from BigLED in BigLEDLabel}
constructor TBigLEDBitmap.Create;
begin
inherited Create;
BigLED_Pics := TBitmap.Create;
BigLED_Pics.Handle:= LoadBitmap(hInstance, 'BIGLED_PICS');
Trans_Color := BigLED_PICS.TransparentColor;
BigLED_List := TList.Create;
end;
destructor TBigLEDBitmap.Destroy;
begin
...
end;
constructor TBigLED.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{ If this is the first BigLED then create the BigLED Bitmap and List object }
if BigLEDBitmap = nil then
BigLEDBitmap := TBigLEDBitmap.Create; // <- Hier gibt´s den Fehler.
Für mich sieht das nach einem ganz gewöhnlichen Konstruktor-Aufruf aus, der bislang (Delphi7) auch nie ein Problem war.
Liegt das vielleicht daran, dass ich, wie in einem Tut zur Installation des
Indy-Packages beschrieben, statt der wirklichen XMLRTL nur die Fake-XMLRTL installiert habe und doch die richtige brauche? Oder mache ich einfach nur was falsch??? In der Hilfe nachgeschaut, sieht der Konstruktor-Aufruf genauso aus und das Create im Aufruf des TBigLEDBitmap.Create wird ja auch anstandslos übersetzt!??? Bin also ein bischen ratlos.
Vielen Dank für Tips
DaWalt