Was enthält Meta-Package?

Für Installationen unter Linux-Systemen
Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Was enthält Meta-Package?

Beitrag von theo »

Lies doch einfach mal das Tutorial durch, welches ich dir verlinkt habe.
Dort steht doch sehr viel Interessantes drin.

z.B. zu Prozeduren und Funktionen:
http://www.delphi-treff.de/tutorials/ob ... unktionen/

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Was enthält Meta-Package?

Beitrag von Erwin »

Wenn man mehre Bücher gelesen hat, und trotzdem das wesentliche nicht erklärt wurde, neigt man eher dazu, gleich direkt zu fragen/klären, ob das wesentliche machbar ist, einem erklärt werden kann. Erst recht wenn man schon 2 mal nach mehren Monaten feststellen musste, das die derzeitige Sprache für einem selbst an die Grenzen ging.
Dein direktes Turitoral ... das muss ich noch mehrmals lesen und x-mal testen, um zu verstehen, wovon er schreibt. Der springt mir zu sehr von Quelltext zu Hauptprogramm, wobei im Quelltext offenbar Befehle genutzt werden, welche meiner Meinung nach eher im Hauptprogramm vorkommen. Oder er meint mit Hauptprogramm wiederum ganz was anderes? Der Beispielcode ist dermaßen umfangreich ... für ein Beispiel finde ich dies somit total ungeeignet. Wüsste ich nicht, was Funktionen sind, ich würde immer noch nicht durchblicken was dass soll.

Die nächste Zeit will ich das alles erst mal ruhen lassen, bis die Tage kühler werden. Bei mir hat es über 30 Grad, und mein Neuer Computer scheint (im Gegensatz zu meinen alten) extrem schnell zu glühen und zur Schnecke zu werden.
Lazarus 2.2.0 / FP 3.2.4

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Was enthält Meta-Package?

Beitrag von Erwin »

In diesem Turitoral wird die Erstellung von Funktionen unter Pascal erklärt. Aber nicht unter Delphi. Das wesentliche, was genau man noch dazu schreiben muss, wird ausgelassen.
Nämlich zu der am Anfang aufgelisteten Zeug unter TForm (wie hießt der Bereich überhaupt?), muss noch scheinbar folgendes hinzugefügt werden:
function rechnen (Wert:Integer):Integer;
Ohne dem geht es bei mir nicht.
Und der Text selbst, erste Zeile (function rechnen (wert : Integer) : Integer;), ist ebenfalls falsch. Dieser müsste nämlich lauten:
function TForm1.rechnen (wert : Integer) : Integer;
Bzw. alternativ der Name des Formulars.
Der scheint mir da einfach was von Pascal reinkopiert zu haben, ohne zu testen. Und auch sonst scheint wohl keiner dies wirklich durchgelesen und getestet zu haben? Auch das Beispiel mit Prozedure kann nicht funktionieren. Weil dort steht nur "procedure tauschen(var s1, s2 : String);". Es müsste aber mindestens "procedure TForm1.tauschen(var s1, s2 : String);" heißen. Und diese Zeile ohne dem TForm1. zusätzlich bei all der anderen Objekt-Auflistung etc. eingefügt werden. Und wo die ausführende prozedure/funktion mit dem ganzen Code wiederum steht, sollte, so weit ich weiß, egal sein. Nur unter Pascal (und Konsorten (also ohne Grafische Klick-Zeug wie Delphi/Lazarus)) ist es wichtig, dass Funktionen und Prozeduren vor dem ersten Aufruf stehen. Aber nicht unter Delphi, so weit ich weiß.
Was ich aber immer noch nicht weiß, wie die exakten Regelungen sind? Ist es so, wie ich es derzeit mache, sauber oder eher schlampig geschrieben? Was spielt sich da im Hintergrund genau ab? Und wie kann man Funktionen und Prozeduren in eine andere Datei verschieben und/bzw. von dort nutzen?
Aber über eines bin ich mir sicher: Ihr wisst dies scheinbar selbst nicht. Dieses komische Turitoral ist meiner Meinung nach der endgültige Beweis dafür.

Bin dann erst mal weg, mich weiter nach einer Sprache umzusehen, wo zumindest die Beschreibung/Hilfe stimmt und auch verständlich ist.
Lazarus 2.2.0 / FP 3.2.4

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Was enthält Meta-Package?

Beitrag von theo »

Erwin hat geschrieben:Aber über eines bin ich mir sicher: Ihr wisst dies scheinbar selbst nicht. Dieses komische Turitoral ist meiner Meinung nach der endgültige Beweis dafür.

Bin dann erst mal weg, mich weiter nach einer Sprache umzusehen, wo zumindest die Beschreibung/Hilfe stimmt und auch verständlich ist.


Wir wissen schon wie das geht, aber wenn du schon wieder weg bist, brauchen wir es dir ja nicht mehr erklären.

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Was enthält Meta-Package?

Beitrag von shokwave »

Wenn ich den Threat so lese, bekomme ich den Eindruck, das du alles verstehen willst, aber irgendwie nicht die Geduld hast mal eine Sache bis zum Ende durchzuführen.

Die Beispiele in Theos Link funktionieren durchaus. Da Lazarus/Delphi als Erweiterung von reinem Pascal angesehen werden kann, gelten die "alten" Regeln immer noch. Bezogen auf Prozeduren/Funktionen bedeutet das, dass man eine Prozedur/Funktion deklarieren KANN, aber nicht MUSS. Deklariere ich sie nicht, kann ich sie nur im nachfolgenden Code aufrufen (wie in den Beispielen des Tutorials).
Was es mit der Deklination auf sich hat, wird 3 Seiten weiter bei "Objektorientierte Programmierung" erklärt. Offenbar hast du es nicht bis dahin geschafft.

Es sei noch gesagt, dass wohl die wenigsten, die ihre Freizeit opfern um unentgeltlich ein solches Tutorial zu erstellen und der Allgemeinheit frei zur Verfügung stellen, eine pädagogische Ausbildung oder ein allumfassendes Wissen haben. Deshalb kann es durchaus sein, dass da nun nicht wirklich ALLES bis ins DETAIL erklärt wird.

Wenn es dir nicht reicht einfach nur zu erfahren wie man etwas programmiert, sondern auch noch warum das so ist, dann würde ich ein Studium in Richtung Informatik empfehlen.
mfg Ingo

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Was enthält Meta-Package?

Beitrag von Erwin »

Ich habe jetzt das Ganze noch mal, diesmal Wort für Wort genau nachgemacht, ausprobiert.
Tja, ... leider ist mir da vorher ein Fehler unterlaufen. Das tut mir jetzt natürlich leid, und ist mir unangenehm.
Ich hatte nicht so genau darauf geachtet, dass function und procedure vor dem ersten Aufruf steht. Irgendwo hatte ich noch im Hinterkopf, dass es bei Delphi keine Rolle spielt. Und auch sonst hatte ich diese Beiden nie ohne dem Formular-Namen (in allen 3 Büchern) gelesen.
Offenbar kann man es so (vor dem ersten Aufruf schreiben) oder so (dann mit Formular-Namen und extra Aufruf weiter oben) machen.

Ok, ich glaube, das war ja auch das, was Ihr weiter oben ja bereits schon mal gesagt habt?
Nur war ich eben zu sehr darauf trainiert, auf Grund meines Wissens aus Büchern, dass so etwas laut diesen Autoren nicht (bzw. nie) möglich ist. Offenbar waren all diese anderen Autoren auf den Holzweg. 3-4 Bücher, und ... lassen was ganz wichtiges aus. Schade um Zeit und Geld.
Aber das sind eben auch jetzt Teils die Probleme, die ich damit habe: Welche Art ist sauber(er) programmiert? Und was wird sich später eventuell rächen?
Lazarus 2.2.0 / FP 3.2.4

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Was enthält Meta-Package?

Beitrag von Hitman »

Erwin hat geschrieben:Aber das sind eben auch jetzt Teils die Probleme, die ich damit habe: Welche Art ist sauber(er) programmiert? Und was wird sich später eventuell rächen?

Eben darum würde es sich anbieten, noch mindestens bis "Objektorientierung" weiterzulesen ;-)
Meiner Meinung nach haben deine Probleme nichts mit FreePascal oder Lazarus zu tun, sondern mit einem generell mangelnden Verständnis für imperative und objektorientierte Programmiersprachen - die sind nämlich alle vom Prinzip her gleich ... beherrschst du eine, beherrscht du alle (so mehr oder weniger).

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Was enthält Meta-Package?

Beitrag von Erwin »

Hitman hat geschrieben:...
Meiner Meinung nach haben deine Probleme nichts mit FreePascal oder Lazarus zu tun, sondern mit einem generell mangelnden Verständnis für imperative und objektorientierte Programmiersprachen - die sind nämlich alle vom Prinzip her gleich ... beherrschst du eine, beherrscht du alle (so mehr oder weniger).

Imperative? Nein, das ist es nicht. Eher diese spezielle Form der Objektorientierten Programmierung, wo von Lazarus vieles abgenommen wird, ohne dass ich genau weiß, wie das alles gehandhabt wird. Und das Ganze vermutlich in Kombination der Angst, etwas falsch zu machen, und den krankhaften Willen, alles nachvollziehen zu können.
Ich habe jetzt das eine Beispiel zum Teil gemacht. Nur ... als ich den ersten Teil erledigt hatte, sah ich immer noch kein Effekt. Wenn ich es ausführte passierte ... NICHTS erkennbares. Da muss ich blind darauf vertrauen, dass was passiert. Aber gerade so etwas fällt mir ja schwer, sonst hätte ich ja auch vermutlich weniger Probleme mit solche Grafischen Programmier-Designer. Ich will halt sehen können, das was passiert, damit ich den Weg und Effekt nachvollziehen kann. Stattdessen wird da ein Beispiel gewählt, wo alles im Hintergrund passiert.
Die Erklärung zwischen Ende 1. Teils und Anfang 2. Teils konnte ich gar nicht verstehen. Ich muss etwas wahrnehmen können, um es zu verstehen. Stattdessen ist das Beispiel eher reine Luft. Und dann will er mir dieses nicht-greifbares erklären? Ins Detail gehen? Da verabschiedet sich halt mein Hirn ohne Rückfrage.
Und als ich dann mit dem 2. Teil weiter machte, in der Hoffnung irgendwann auch mal was zu sehen zu bekommen, musste ich erst mal selbst die neue unit unter uses eintragen, weil sonst gar nichts ginge. Aber das nächste Problem ... -> 'rechteck := TRechteck.Create(hoehe, breite);' <-- diesen Code mag er nicht. Irgendwas von falschen Nummer/Parameter für den Befehl Creates: 'Wrong Number of parameters specifid for call to "Create"'. Aber ohne den hoehe und breite ist wiederum kein Effekt erkennbar. Bzw. erscheint immer das Ergebnis null. Und all die anderen Meldungen ... da ist vieles schlampig programmiert, scheint mir. Und irgendwie habe ich auch den Verdacht, dass eine Vererbung schief ging?

Vieles werde ich also selbst wieder mal aus vielen Büchern zusammenfrickeln dürfen?
Und genau das macht mich wieder zu schaffen: Macht es Sinn, sich mit etwas abzugeben, was selbst keine Beschreibung hat? Was auf Lazarus ja sowieso zutrifft. Immerhin sind die Beispiele ja aus Delphi. Das finde ich noch zusätzlich verwirrend. Ich lerne Lazaurs mit Hilfe von Delphi-Kursen? Wäre es dann nicht Sinnvoller gleich Delphi zu nehmen?
Lazarus 2.2.0 / FP 3.2.4

Antworten