Die Suche ergab 40 Treffer

von Joz
Mi 11. Nov 2015, 17:18
Forum: Dies und Das
Thema: Was wünscht ihr euch für Pascal Features in der Zukunft
Antworten: 108
Zugriffe: 31511

Re: Was wünscht ihr euch für Pascal Features in der Zukunft

Ich wünsche mir, dass dieser Code irgendwann funktioniert: type TPoint = record X, Y: Integer; end;   TMyType = record ID: Integer; Pos: TPoint; end;   const ZeroP: TPoint = (X: 0; Y: 0);   DefaultMyType: TMyType = (ID: 54631; Pos: ZeroP);  Bisher musste ich für die letzte Zeile imme...
von Joz
Mi 22. Jul 2015, 15:40
Forum: Freepascal
Thema: Vererbung / generische Interfaces
Antworten: 1
Zugriffe: 1515

Vererbung / generische Interfaces

Moin alle zusammen, Ich habe eine generische Klasse TSmartArray, die ein (ebenso generisches) Interface IList implementiert. Nun habe ich eine Prozedur, deren Signatur einen Parameter vom Typ IList<QWord> definiert. Ich kann dieser Prozedur aber keinen Parameter vom Typ TSmartArray<QWord> übergeben....
von Joz
So 14. Dez 2014, 13:17
Forum: Netzwerk
Thema: Registrierung?!
Antworten: 38
Zugriffe: 18331

Re: Registrierung?!

Registrierungen machst du mit der folgenden Funktion:

Code: Alles auswählen

uses Fantasy;
function Registrate(Registrant: IRegistrable): QWord;

Die erledigt alles vollautomatisch. Ganz egal, welche Art von Registrierung du meinst, die kann alles. :D
von Joz
Do 27. Nov 2014, 15:02
Forum: Sonstiges
Thema: Probleme mit code unter 64bit cpu
Antworten: 14
Zugriffe: 6261

Re: Probleme mit code unter 64bit cpu

Den brauchst du ja wahrscheinlich für größere Dateien ohnehin. Würde ich nicht unbedingt sagen. Er unterteilt ja einen FileStream (der ja auch mit sehr großen Dateien umgehen kann) in Chunks von 64 KiB Größe, für die Cardinal locker ausreicht, kombiniert mit Repeat-Until. Wenn das unter 32 Bit funk...
von Joz
Mi 22. Okt 2014, 00:38
Forum: Komponenten und Packages
Thema: TApplicationProperties --> Idle
Antworten: 3
Zugriffe: 2156

Re: TApplicationProperties --> Idle

Du kannst mit OnIdle eher keine Tasten abfragen, aber dafür Game-Loops erstellen:   interface type TForm = class … procedure AppOnIdle(Sender:TObject; var Done: Boolean); end;   implementation   procedure TForm1.OnCreate(Sender); begin … Application.OnIdle := @AppOnIdle; end;   proce...
von Joz
Do 25. Sep 2014, 17:49
Forum: Vorstellungen
Thema: Hey Ho
Antworten: 4
Zugriffe: 8096

Re: Hey Ho

Hey ho,
Willkommen im Forum! Bin übrigens ein Jahr älter als du und habe auch laange lange Zeit D7 genutzt.
von Joz
Di 9. Sep 2014, 16:14
Forum: MacOS
Thema: Funktioniert "Canvas.Pixels[x,y]" unter MacOSX nicht?
Antworten: 16
Zugriffe: 18615

Re: Funktioniert "Canvas.Pixels[x,y]" unter MacOSX nicht?

Welchen Fehler wirft denn SetSize bei dir? Und warum benutzt du Screen.Size, wäre deine Zeichenfläche vielleicht sinnvoller mit Form.Width&Height angegeben? Ich mach das immer folgendermaßen: In OnCreate erstelle ich das Bitmap lediglich, das Setzen der Größe mach ich nur in OnResize. Denn ich b...
von Joz
Mo 8. Sep 2014, 00:15
Forum: MacOS
Thema: Funktioniert "Canvas.Pixels[x,y]" unter MacOSX nicht?
Antworten: 16
Zugriffe: 18615

Re: Funktioniert "Canvas.Pixels[x,y]" unter MacOSX nicht?

Zeichne doch alles was du zeichnen musst erstmal in einen Bitmap-Puffer, den du in OnPaint nur auf die Form zeichnest. Dort dürfte die Abfrage von Farbwerten nämlich funktionieren.   var Buffer: TBitmap;   procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; ...
von Joz
Mo 1. Sep 2014, 19:31
Forum: Multimedia
Thema: Drehendes Objekt
Antworten: 12
Zugriffe: 7186

Re: Drehendes Objekt

Wenn es nicht kompliziert sein soll, kannst du ja eine Fläche zum Selberzeichnen wählen und mit dem Canvas-Objekt Linien zeichnen (mit Seitenberechnung vom Winkel á la x=cos, y=sin), die die Richtung anzeigen. „Drehendes grafisches Objekt“ klingt zwar doch fast nach OpenGL, Canvas ist aber für die g...
von Joz
Fr 15. Aug 2014, 19:03
Forum: Freepascal
Thema: Enumerator von generischer Klasse?
Antworten: 2
Zugriffe: 1952

Re: Enumerator von generischer Klasse?

Dankeschön, die Unit beschreibt einen schönen Weg, um das hinzubekommen, hab es dadurch lösen können! Der ungefähre Code sieht jetzt so aus: TAbstractSmartArray = class public { Gibt einen Zeiger auf Element I zurück, falls vorhanden, sonst nil } function GetElemPtr(I: SizeInt): Pointer; vir...
von Joz
Mi 13. Aug 2014, 00:16
Forum: Freepascal
Thema: Enumerator von generischer Klasse?
Antworten: 2
Zugriffe: 1952

Enumerator von generischer Klasse?

Hallo alle zusammen! Ich habe eine generische Klasse TSmartArray, die ich in einer for-in-loop ansprechen können möchte. Wie definiere ich einen Enumerator dafür? Mein Problem ist, dass man eine Im-Voraus-Deklaration benutzen muss, die bei Generischen Typen nicht geht oder anders aussieht. Das Beisp...
von Joz
Fr 13. Jun 2014, 00:04
Forum: Einsteigerfragen
Thema: 2 Tasten zur selben Zeit drücken?
Antworten: 11
Zugriffe: 3678

Re: 2 Tasten zur selben Zeit drücken?

Hätte vielleicht vorher nach deinem Kenntnisstand fragen können ^^ FormKeyDown wird aufgerufen, wenn eine Taste gedrückt wird, FormKeyUp, wenn eine losgelassen wird. Du kannst dir in diesen Methoden die Informationen über gedrückte Tasten in Variablen speichern, so dass du darauf auch außerhalb dies...
von Joz
Do 12. Jun 2014, 15:09
Forum: Einsteigerfragen
Thema: 2 Tasten zur selben Zeit drücken?
Antworten: 11
Zugriffe: 3678

Re: 2 Tasten zur selben Zeit drücken?

Die Meldung, dass Shift nicht verwendet wird, ist genau dann normal, wenn man Shift auch wirklich nicht benutzt Die Meldung, dass KeyDown eine vererbte Methode verbirgt, habe ich aber nie, prüfe doch mal, ob deine Methode überhaupt aufgerufen wird, indem du einfach bei jedem Tastendruck WriteLn(...
von Joz
Mi 23. Apr 2014, 00:41
Forum: Vorstellungen
Thema: Das bin ich
Antworten: 21
Zugriffe: 17487

Re: Das bin ich

Nee, Maria73 stinkt.

Aber warum tut das jemand? ^^
von Joz
Sa 8. Mär 2014, 17:38
Forum: Benutzung der IDE
Thema: [Selbst gelöst] Upgrade zu Lazarus 1.2
Antworten: 1
Zugriffe: 2894

Re: Upgrade zu Lazarus 1.2?

Nach einer einfachen Neuinstallation ging es noch nicht, dafür aber nach der Neuinstallation und dem Löschen des Ordners ~/.lazarus. Hätt ich auch früher drauf kommen können.