Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Workaround ist nicht negativ gemeint. In Online-Übersetzer dict.cc wird Workaround zwar unter anderem als "Notlösung" bezeichnet (was an sich ja auch schon nicht negativ ist), aber überwiegend als "Zwischenlösung", "Übergangslösung" und, was mir eigentlich im Sinn war, als "Problemumgehung".
Ich unterscheide sehr wohl zwischen "unsauber" und "Workaround". Über "unsauber" muss man nichts...
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Wow, da hast du dir aber viel Mühe gemacht! Danke! :)
Ich hab's probiert (in abgespeckter Form) und es funktioiert auch in Lazarus 0.9.30.2RC1, aber ich fürchte, dass es mir mit dem Setzen der "Canvase" :wink: auf published für jedes Control dann so ergeht, wie dem User im von dir genannten Thread im Posting #13 mit seinen tausend "if comp is ..."-Abfragen.
Ist eine echt interessante Sache,...
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Funktioniert leider nicht mit Canvas (zumindest nicht in meinen Tests).
Und Canvas bzw. dann Canvas.TextWidth ist ein echtes Problem. Ich habe, wie schon geschrieben, verschiedene Klassen probiert, um ACtrl... zu übergeben, z. B. als TControl.
procedure TForm1.SetShortenedText(ACtrlWithCanvas: TControl; AText: string);
Im weiteren Code wird dann auf Canvas zugegriffen:
while...
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Ok, hab den Thread durchgelesen und zitiere mal was auch bei mir als Problem bleibt:
Der dortige Thread-Ersteller konnte zwar sein Problem "lösen", aber nur weil er Glück hatte, dass er keine anderen Klassenmember benötigte. In meinem Fall kann ich nicht einfach ein "CompSetCaption" machen. Der Knackpunkt ist "Canvas" und noch genauer "Canvas.TextWidth".
Das heißt, außer auf die...
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Ja, auf jeden Fall. Deine Idee ist sehr "praktisch-orientiert", sprich: macht Nägel mit Köpfen, und stellt das dar, was ich als "Workaround" ansehen würde. Das wäre auch mein Ansatz, wenn uns nichts "besseres" einfällt (und ein guter!).
Aber noch gebe ich die Hoffnung nicht auf. Was ich will ist möglichst kein Workaround, sondern eine Möglichkeit ein geziehltes TypCast durchzuführen. Das was...
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Prima, funktioniert gut. Danke für die Funktion! Ich denke, die kann ich noch öffter gebrauchen. :thumb:
Funktioniert! :)
Aaaaber, ... wie gesagt steh ich auf dem Schlauch, wie's weitergehen soll. Ich kann prüfen, ob die Funktionen vorhanden sind, aber wie kann ich drauf zugreifen? Und welcher Kassentyp soll an meine Routine übergeben werden? TObject?
Guido.
Forum: FreePascal
by Guido Eisenbeis,
27. Okt 2011
Ich benutze Lazarus im {$mode delphi} für Win 32.
Es geht um eine Routine, der ein Control übergeben wird und dann einige Eigenschaften benutzt und geändert werden. Die wichtigsten Eigenschaften sind "Canvas", "(Show)Hint" und "Caption".
Der Routine sollen bei verschiedenen Aufrufen auch verschiedene Controls übergeben werden. Beispiel:
// Prozedur-Kopf
procedure...