GLScene installieren ?
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Dann bau dir ne Klasse:
Normalerweise müßte es aber reichen in TMyObject einfach:
anzugeben. Bedingung dafür ist, das in TMyRecord nur solche Datentypen angegeben sind, für die ein PropertyEditor existiert. Das sind grundsätzlich alle Standard-Datentypen von ObjectPascal, auch Sets können benutzt werden. Existiert kein PropertyEditor, dann muß du dir selbst einen dafür bauen. Ich denke aber, das wird nicht nötig sein.
Das müßte dann im OI zu einem Feld mit einem "+", also einer Liste führen, die man aufklappen kann und dann dort die Werte verändern kann.
Wichtig ist es, die nötigen Get- und Set-Methoden zu deklarieren, nur dann funzt das.
Code: Alles auswählen
type
TMyData = class(TObject)
private
FData: TMyRecord;
function GetDatenFeld1: integer;
procedure SetDatenFeld1(Value: integer);
function GetDatenFeld2: string;
procedure SetDatenFeld2(Value: string);
public
DatenFeld1: integer read GetDatenFeld1 write SetDatenFeld2;
DatenFeld2: string GetDatenFeld1 write SetDatenFeld2;
// usw
end;
TMyObject = class(TIrgendwas { mindestens TPersistent })
private
FData: TMyData;
function GetData: TMyData;
procedure SetData(Value: TMyData);
published
Data: TMyData read GetData write SetData;
end;
implementation
function TMyData.GetDatenFeld1: integer;
begin
Result:= FData.Feld1;
end;
procedure TMyData.SetDatenFeld1(Value: integer);
begin
if (Value <> FData.Feld1) then FData.Feld1:= Value;
end;
function TMyData.GetDatenFeld2: string;
begin
Result:= FData.Feld2;
end;
procedure TMyData.SetDatenFeld2(Value: string);
begin
if (Value <> FData.Feld2) then FData.Feld2:= Value;
end;
// TMyObject
function TMyObject.GetData: TMyData;
begin
Result:= FData;
end;
procedure TMyObject.SetData(Value: TMyData);
begin
if (Value <> FData) then FData:= Value;
end;
Code: Alles auswählen
TMyObject = class(TIrgendwas { mindestens TPersistent })
privat
FData: TMyRecord;
function GetData: TMyRecord;
procedure SetData(Value: TMyRecord);
published
Data: TMyRecord read GetData write SetData;
end;
Das müßte dann im OI zu einem Feld mit einem "+", also einer Liste führen, die man aufklappen kann und dann dort die Werte verändern kann.
Wichtig ist es, die nötigen Get- und Set-Methoden zu deklarieren, nur dann funzt das.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
nicht umbedingt es sei denn dort arbeitet der OI anders als bei Lazarus !
ich würde sagen es müste in Delphi genauso gehen wie bei Lazarus !
Es müssen einfach alle Typen in klassen geändert werden dann geht es !
evlt. gibt es noch einen anderen Weg.... aber den kenne ich leider nicht...
wobei: warum sollte das denn in Delphi nicht mit Klassen gehen ?
ich würde sagen es müste in Delphi genauso gehen wie bei Lazarus !
Es müssen einfach alle Typen in klassen geändert werden dann geht es !
evlt. gibt es noch einen anderen Weg.... aber den kenne ich leider nicht...
wobei: warum sollte das denn in Delphi nicht mit Klassen gehen ?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Naja ich muss es ja auch nicht verstehen !
Im Moment nutze ich noch kein GLscene und dabei wird das wohl auch bleiben bis ich eine bessere Grafik karte habe...
evlt. habt ihr das Problem ja bis dahin gelöst !
weil es ist etwas umstätnlich die Position angaben nur in einem Dialog zu ändern
Im Moment nutze ich noch kein GLscene und dabei wird das wohl auch bleiben bis ich eine bessere Grafik karte habe...
evlt. habt ihr das Problem ja bis dahin gelöst !
weil es ist etwas umstätnlich die Position angaben nur in einem Dialog zu ändern
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
aber für einen Anfänger in GLScene könnte das durchaus praktisch sein.... keiner hat was von komplexe scenen gesagt nur die Möglichkeit kleine abschnitte zu testen in der GLScene..... das würde ich auf jedenfal praktisch finden...
Aber ich weiß ja wie du zu meinen Ideen stehst !
Aber ich weiß ja wie du zu meinen Ideen stehst !
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ja genau zieh dich ewig an der sache hoch. Das hab jawohl nicht nur ich unsinnig gefunden ! Was hat Matthias Gärtner denn geantwortet ?Aber ich weiß ja wie du zu meinen Ideen stehst !
Und wo sind denn die Patches für GLScene die du beisteuern wolltest und damit testen ob sie aufgenommen werden ?! Solange die nicht da sind brauchst gar nich son quatsch zu erzählen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
weiß du was ich lasse das ganze jetzt einfach sein, das hat kein sinn über sowas zu reden ich habe noch keine Antwort bekommen von "Matthias Gärtner" evlt hattes du recht !
verstehen tue ich das nicht ! da es nur ein paar Zeilen code währen die hinzugefügt werden....
naja..... und GLScene werde ich auch erstmal nichts ändern !!! nach dieser erfahrung werde ich es einfach alles sein lassen und mich nur noch auf meine Projekte konzentrieren und fertig alles andere hat anscheind noch keinen sin !!!
verstehen tue ich das nicht ! da es nur ein paar Zeilen code währen die hinzugefügt werden....
naja..... und GLScene werde ich auch erstmal nichts ändern !!! nach dieser erfahrung werde ich es einfach alles sein lassen und mich nur noch auf meine Projekte konzentrieren und fertig alles andere hat anscheind noch keinen sin !!!
MFG
Michael Springwald
Michael Springwald