AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Create-Problem bei Komponentenportierung (XMLRTL???)
Thema durchsuchen
Ansicht
Themen-Optionen

Create-Problem bei Komponentenportierung (XMLRTL???)

Ein Thema von DaWalt · begonnen am 22. Jun 2005 · letzter Beitrag vom 23. Jun 2005
Antwort Antwort
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#1

Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 22. Jun 2005, 17:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 22. Jun 2005, 17:16
BigLEDBitmap ist als cons definiert.
Und solange du nicht den Compilerschalter "Zuweisbare typisierte Konstanten" aktivierst wird der Compiler meckern.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 22. Jun 2005, 17:18
Einer const kann man nichts zuweisen.
Wer es trotzdem tut begeht eine strafwuerdige Tat. Neuerdings bestraft einen der Compiler defaultmaessig.
Delphi-Quellcode:
var
  BigLEDBitmap : TBigLEDBitmap = nil;
erledigt das Problem.
  Mit Zitat antworten Zitat
DaWalt

Registriert seit: 22. Apr 2005
Ort: Dortmund
13 Beiträge
 
#4

Re: Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 23. Jun 2005, 09:49
Vielen Dank, das war´s natürlich. Manchmal is man einfach betriebsblind - peinlicher Fehler!!!
Eigentlich erstaunlich, dass sich der 7er Compiler darüber nicht beschwert hat.
Gruß aus -> )

DaWalt
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 23. Jun 2005, 09:52
Zitat von DaWalt:
Eigentlich erstaunlich, dass sich der 7er Compiler darüber nicht beschwert hat.
Du kannst auch Delphi 2005 dazu bringen, sich nicht zu beschweren, dies geht per Compilerswitch. Der Unterschied: in Delphi 7 ist die Default-Einstellung "zulassen", in Delphi 2005 "nicht zulassen". IMO ist es aber ein Feature der Sprache, das schon gar nicht reinkommen sollte, und nicht erst durch Compilerswitch verboten werden sollte. Also: einfach immer var benutzen wenn sich was aendern wird

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: Create-Problem bei Komponentenportierung (XMLRTL???)

  Alt 23. Jun 2005, 12:21
Zitat von alcaeus:
IMO ist es aber ein Feature der Sprache, das schon gar nicht reinkommen sollte, und nicht erst durch Compilerswitch verboten werden sollte.
Das Feature gibt es schon seit TurboPascal 7. Dort hatte es auch noch eine Bedeutung, da es keine Vorinitialisierten var-Variablen gab. Also hat man das damals per const-Variable erledigt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz