also, nachdem ich mich ühsam durchs quickstart tutorial mit etlichen (dummen) fehlern, und kleien erfolgserlebnissen bin ich jetzt wirklich stecken geblieben.
Zunächst habe ich erstmal übrhaupt keine scene bekommen, jetzt kenne ich den fehler:
Application.OnIdle := IdleHandler; fehlte
soweit so gut. habe ich eingesetzt bekomme von Lazarus folgenden fehler:
Unit1.pas(44,24) Error: Wrong number of parameters specified
Unit1.pas(14,15) Hint: Found declaration: TForm1.IdleHandler(TObject,var Boolean)
Unit1.pas(73,35) Hint: use DIV instead to get an integer result
Unit1.pas(73,48) Hint: Type size mismatch, possible loss of data / range check error
Unit1.pas(91,1) Fatal: There were 1 errors compiling module, stopping
also die ersten beiden fehler sind wichtig: sie beziehen sich auf das OnIdle. was mache ich falsch?
Entweder du schaltest Lazarus in den Delphi-kompatiblen Modus, oder Du stellst ein @ voran. FreePascal ist hier päpstlicher als der Paps, da man Events die Adresse des Handlers übergeben muss. Der Delphi-Compiler referenziert implizit automatisch, freepascal macht das nicht.
Beim ClientWidth/ClientHeight fällt mir nur ein: Einfach nicht ignorieren. freePascal geht von den 'Parametern' aus und die sind nunmal Integer, daher denkt er, das Ergebnis sollte auch Integer sein. Delphi ist hier auch nicht so pingelig.
_________________ 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.
Okay,
es wird das 5343-te mal sein dass jemand diese (blöde) frage stellt.
wie gesagt ich kämpfe schon die ganze zeit damit, nun bin ich wieder am ende meines lateins.
ich kriege nur die doofe Windowsgraue form hin, kein Opengl fenster oder so, könnte in die tischkante beißen.
wieder mal, was mache ich falsch.....
Also in Delphi funzt die unit mit minimalen änderungen. Versuch mal die unit OpenGLcontext(giibt es bei mir nicht) wegzulassen. Wenn es dann nicht funzt, tippe ich auch ein FPC spezifischen Problem, bei dem ich dir dann aber nicht mehr weiterhelfen kann.
soooooooo,
das mit dem Lazarus problem hatte ich auch schon im sinn, nun da ihr mir die fehlerfreiheit meines Codes attestiert habe, habe ich nochmal was ausprobiert:
der code ist im prinzip gleich geblieben, nur dass FormCreate jetzt GLinit heißt und keine parameter mehr hat. Meine ausführcode hat sich aber zu folgendem geändert:
von:
ja und nun darf man raten wo der fehler lag:
irgendwie ist diese FormCreate methode nicht aufgerufen worden...
also heíßt sie entweder anders oder Laz macht das nicht,
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Ich rate einfach mal: Vielleicht hast du aus Versehen die EventHandler-"Verknüpfung" gelöscht?
Objekt Inspektor -> Form1:TForm1 -> "Ereignisse", unter "OnCreate" müsste "FormCreate" stehen, damit dein Code funktioniert.
Bzw. falls du es nicht so gemacht hast, musst du dort den Button mit "..." anklicken oder doppelt ins Edit davor, dann wird die Prozedur mit Verknüpfung automatisch angelegt.
Mitglieder in diesem Forum: 0 Mitglieder und 5 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.