Registriert: Do Jul 23, 2009 04:33 Beiträge: 157
Programmiersprache: Turbo Delphi Pro
Soweit ich sehe heißt sie genauso wie in Delphi, und ist in der Dialogs.pas deklariert, genau wie in Delphi //edit Und das findest du heraus, in dem du in einem Projekt, in dem die wichtigsten Units in der Uses-Klausel stehen, den Cursor auf die Funktion (ShowMessage) setzt, und rechtsklick + "suche Deklaration" wählst. Und das funktioniert in Delphi und in Lazarus
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen. (Koreanisches Sprichwort)
Äh, ja. Steht ungefähr auf Zeile 510. Erkennts mir aber trotzdem nicht. Besser noch. findet mir auch nix anderes, was in der Unit Dialogs steht. Wenn ich aber eintippe "Dialogs." dann zeigt er mir sofort einige Sachen an, die ich sicher nicht brauche. ShowMessage ist nicht darunter. Wenn ich aber irgendwas davon auswähle, schreit er "Bezeichner nicht gefunden"
Code:
uses Classes, SysUtils, dglopengl, Dialogs;
Also eingebunden is es.
Hab auch schon geschaut, ob vielleicht in der Unit SDL irgendwas ähnliches steht, hab aber nichts gefunden.
Dass es gibt, weiß ich mittlerweile auch. In Zeile 510 ungefähr in der Unit Dialogs. Nur halt bringt mir das wenig, wenn ich mit Fehlermeldungen beworfen werd.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Dann poste mal die genaue Fehlermeldung. Wenn die Unit ja korrekt eingebunden ist, und du den Funktionsnamen richtig geschrieben hast, müsste der Bezeichner ja definitiv gefunden werden.
shader.pas(119,40) Error: Identifier not found "ShowMessage"
Übrigens mit Raise Exception.Create krieg ich auch nix. Also, ich werd über ne Exception informiert, aber keine Spur von dem String, den ich übergeben hab.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Klingt alles sehr eigenartig. Du bist aber im Delphi-Modus? Kannst du irgendwo (pastebin ode so) den Code posten, damit man sich das mal ansehen kann (nur wenns nicht zu viel ist). Ansonsten hast du mal das Projekt komplett neu erzeugt und auch Unitpuffer etc. gelöscht?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Also irgendwas ist hier mehr als merkwürdig. Habs grad mit dem letzten offiziellen Build von Lazarus probiert (FPC 2.2.4), und da gibts kein ShowMessage. Hab dann den aktuellen Snapshot gezogen (FPC 2.4.0), und da gibts auch kein ShowMessage. Sehr eigenartig, zumal die Funktion doch so auch im Lazarus-Wiki steht und dort auch steht sie läge in Dialogs.pp. Evtl. haben die da nen Fehler gemacht oder die Funktion aus irgendeinem Grund entfernt. Wirste also eine andere nehmen müssen.
Alternativ musste dann halt MessageBox in der Unit MsgBox nutzen. Keine Ahnung warum bei FPC hier kein ShowMessage (mehr dabei) ist, bzw. wo die es hingepackt haben.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Ok, ich seh zumindest wo das Problem herkommt. Ich nutz leider selten Lazarus/FPC, kann also nicht sagen wie man es löst. Aber ich seh bei mir dass, wenn ich z.B. Dialogs einbinde, der komischerweise die Amiga-Version! davon einbindet, und es da die ganzen Funktionen nicht gibt. Schaut man von Hand in die richtige Dialogs.pp, dann findet man dort alle aus Delphi bekannten Funktionen, auch ShowMessage. Evtl. kann jemand der Lazarus schon länger nutzt mal was dazu sagen...
Edit : Mach mal ein neues Projekt in Lazarus. Da gehts dann bei mir. Wähl ich eins meiner alten Projekte, tritt genau dein Problem auf. Keine Ahnung was da mal wieder schief läuft, Lazarus ist wohl immernoch son Flickenteppich.
ok. ich schreibs über ne StringList in ne .txt Das funktioniert. Ist zwar nicht ganz das, was ich mir vorgestellt hab, aber zumindest weiß ich jetzt mal, dass mein shader compiliert.
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.