Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Mär 29, 2024 08:12

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 33 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Jul 29, 2007 21:03 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
wieso nicht einfach canvas.handle nehmen?

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 30, 2007 07:19 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Das liegt daran, dass Dein Panel noch kein Handle hat. Dieses bekommt es erst, wenn es sichtbar wird. Du darfst also nicht im FormCreate den Context erstellen, sondern musst warten, bis das Panel ein Handle hat. Am einfachsten erreichst Du das mit einem TPanel-Nachfolger, der dann die Methode CreateWnd überschreibt. Hier kannst Du dann nach dem Inherited Aufruf Deinen Kontext erstellen (aber Obacht: nicht wenn csDestroying im ComponentState ist, da wird das Handle wieder zerstört).

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 30, 2007 10:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kann jemand den Code geradeziehen und wieder hochladen. Ich hab ehrlich gesagt keinen Nerv mich wieder mit dem Delphi-Zeugs rumzuschlagen. ;)
Es gibt auch ne Erwähnung im Tutorial. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 31, 2007 13:16 
Offline
DGL Member

Registriert: Do Jul 26, 2007 14:55
Beiträge: 7
Das Problem ist nicht der DC. Das Panel existiert bereits zum Zeitpunkt des GetDC-Aufrufs und die Adresse "00000008" läßt auch so gar nicht auf ein fehlendes Handle oder sowas schließen. Nene, das Problem liegt ganz woanders :D

Während nämlich GetDC ausgeführt wird, wird intern FormResize aufgerufen (ja, direkt nach InitOpenGL !). Hier existiert zwar noch kein Renderkontext und nix, aber Fromresize läuft trotzdem durch - bis der Aufruf "IdleHandler()" kommt.

Auch im IdleHandler passiert nichts schlimmes - bis "Render" aufgerufen wird. Hier knallt es dann bei
Code:
  1. TScriptElement(Script[i]).Call;


Tja... "Script" ist zu diesem Zeitpunkt noch völlig uninitialisiert. Dies passiert erst im Init und damit leider zu spät. Abhilfe:

FormCreate modifizieren:

Code:
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3.   Script := TScript.Create(true);
  4.  
  5.   if not InitOpenGL then Application.Terminate;
  6.  
  7.   DC:= Windows.GetDC(Panel1.Handle);
  8.   RC:= CreateRenderingContext( DC,
  9.                                [opDoubleBuffered],
  10.                                32,
  11.                                24,
  12.                                0,0,0,
  13.                                0);
  14.   ActivateRenderingContext(DC, RC);
  15.  
  16.   SetupGL;
  17.   Init;
  18.   Application.OnIdle:= IdleHandler;
  19. end;
  20.  


Init modifizieren:
Code:
  1.  
  2. procedure TForm1.Init;
  3. begin
  4.   GLError             := GL_NO_ERROR;
  5.   Step                := -1;
  6.   aGrid               := TGrid.Create;
  7.   //Script              := TScript.Create;
  8.   //Script.OwnsObjects  := true;
  9.   SetCommand(GL_CMD_NONE);
  10. end;
  11.  



Problem solved. Das Phänomen tritt unter D2006 übrigens nicht auf.


Dateianhänge:
SkizzenrendererCode.zip [25.79 KiB]
288-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 31, 2007 15:05 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kann es sein, dass das gepostete "zip" das unveränderte Projekt enthält?
Kannst du die exe gleich mal mit anhängen (als zip).
(Ich will mal ausprobieren, ob das Fensterproblem (rechts verschwidnet was) durch das hochladen zum server, oder durch mein Delphi verursacht wird.)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 09:06 
Offline
DGL Member

Registriert: Do Jul 26, 2007 14:55
Beiträge: 7
Nanu...

Hier nochmal das Archiv, EXE ist ebenfalls drin.


Dateianhänge:
SkizzenrendererCode.rar [235.08 KiB]
284-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 12:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ich sage das nur äußerst ungern. Aber irgendwie sieht und verhält sich die Anwendung bei mir gerade ziemlich gruselig. Ich habe mir mal den Code gezogen und werde das heute abend mal etwas überarbeiten, wenns recht ist. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 12:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was ist denn los damit? :shock:
Aber danke das du mal drauf guckst.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 13:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wobei ich aber auch gestehen muss, dass ich mir das Programm jetzt das erste Mal so wirklich bewusst angesehen habe. :roll: Aber ein paar Sachen die mir aufgefallen sind. Die Ansicht verändert sich in der Größe. Die Einstellungen bleiben aber wo sie sind. Die Schrift neben der Listbox ist ohne Kantenglättung nicht lesbar. Die Listbox an sich ist bei mir von den Edits überlagert. Das mit dem "Ausführen bis Zeile Nr" reagiert sehr komisch wenn Einträge löscht. etc. Das sind so viele Kleinigkeiten die jemaden wie mich, der seit Jahren nur Oberflächen entwickelt, etwas schaudern lassen. ;)

PS: Ja ich weiß. Ich bin in manchen Dingen etwas kleinlich. Das regt meine Frau auch häufiger auf. :twisted:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 22:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das Programm ist auch schon ein paar Jährchen alt. Und damals wurde es einfach schnell zusammen gehackt um mein Tutorial zu bebildern. Eigentlich sollte man nur die tollen Bilder bewundern. Das jemand mal den Code sieht *räusper* war so nicht gedacht. :twisted:

Falls du es geradebiegen kannst - tu dir keinen Zwang an.

Funktioniert eigentlich die neue Version die ich dank OlafSt hochladen konnte?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 01, 2007 22:40 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also die Version von OlafSt hat auf jeden Fall funktioniert.

Ich schaffe es heute leider nicht mehr die Version hochzuladen. Es fehlen noch 2 Kleinigkeiten in der Bedienung. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 02, 2007 19:26 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
So delle. Hier mal die überarbeitet Version. Im Groben und Ganzen hat sich nur was an der GUI getan. Bzw die Klasse TScript ist etwas leerer als vorher. Und etwas den Code des Forms etwas angepasst.

PS Flash: Ich hoffe du bekommst keinen Shock. ;)


edit link entfernt


Zuletzt geändert von Lossy eX am Fr Aug 03, 2007 22:21, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 02, 2007 20:54 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hab den neuen hochgeladen. Da ich nur D5 hab, kann ich den Code selber nicht mehr compilieren. Is aber eh egal. Jetzt da es funktioniert. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 02, 2007 21:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Was hat er denn angemault? Das kann ich eben noch anpassen und dir das dann zur Verfügung stellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 02, 2007 22:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn ich das Projekt öffne kommt ne Fehlermeldung mit "Eigenschaft exisitert nicht: PanelSettings.DesignSize"
Da wirst du wohl nichts ändern können. Die Klasse sah bei D5 wohl noch anders aus.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 33 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.066s | 18 Queries | GZIP : On ]