Ist einer unter euch, der sich schon näher mit KOL befaßt hat?
Ich bin seit Wochen dabei, mich damit anzufreunden, und es ging auch recht gut. Aber jetzt habe ich ein Problem:
KOL benützt hauptsächlich Objects und arbeitet fast nur mit Zeigervariablen, sodaß ein minimaler Speicher gebraucht wird. Außerdem werden von eingebundenen DLL´s und Units immer nur die Teile eingebunden, die auch wirklich gebraucht werden.
(So ist zB ein Programm, das ich gerade erstelle, unter KOL = 650 KB, und das zusammen mit allen DebugInformationen, unter Lazarus jedoch (weil die FreeImage.DLL mit 2,5 MB eingebaut ist) 15,6 MB).
Bisher hat der Compiler anstandslos die Konstrukte in KOL akzeptiert. Ich habe jedoch jetzt Lazarus völlig neu installiert (mit dem neuesten Snapshot für win32, der anscheinend vom 10.7. ist), und da bekomme ich plötzlich Schwierigkeiten:
KOL definert erst ein (riesiges) object TObj und davon abgeleitet ein TImage = object(TObj), und zwar in folgender Form:
Code: Alles auswählen
uses Windows, Messages,...
interface
type
PObj = ^TObj;
Tobj = object
...
end;
PImage = ^TImage;
TImage = object(TObj)
....
end;
Aber jetzt, seit der Neuinstallation von Lazarus, nicht mehr. Es wird immer als Zeiger auf Windows.Timage interpretiert.
Gibt es da bestimmte Compilerschalter, mit denen man dieses Verhalten beeinflussen kann, oder was könnte ich sonst machen?
Herzlichen Dank!