Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 08.07.17 12:07 
- Nachträglich durch die Entwickler-Ecke gelöscht -
spawn89
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 82
Erhaltene Danke: 6

Linux
CodeTyphon
BeitragVerfasst: Di 11.07.17 22:49 
wo ich noch mit delphi gearbeitet hatte habe ich mir ganz stark angewöhnt alle dll-sachen immer dynamisch zu laden, hatte sonst auch immer komische bugs.......
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 429
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: Mi 12.07.17 08:45 
Hallo Frühlingsrolle,

könntest Du etwas mehr über die Umstände berichten?

Ich habe Deinen Code mit minimalen Änderungen (ein Int-Parameter für die Prozedur wo Du drei Punkte hattest)
sowohl in D6 als auch XE2 übersetzt bekommen, nicht einmal Warnungen kamen.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 12.07.17 16:53 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1321
Erhaltene Danke: 117

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Do 13.07.17 22:26 
Hallo,

nach langem Rumgrübeln habe ich ich endlich verstanden dass Du nicht von Compilerfehlern sprichst, sondern von der Hintergrundübersetzung.

Ich verwende den Mist schon lange nicht mehr, da es immer und immer wieder zu Geisterfehlern kommt.

Es ist reine Zeitverschwendung sich damit abzugeben.
Alles was nicht vom Compiler an Fehlern, Warnungen oder Hinweisen ausgegeben wird ist nicht da.

Wenn man als Entwickler nicht lernt, Tage lang wegzuprogrammieren ohne irgendwelchen Hilfstöölchen Aufmerksamkeit zu schenken die einen zwischendurch mit blöden Meldungen aufmuntern, wird man es sicher nicht weit bringen.

Mach die Hintergrundübersetzung aus.
Glaub mir, das macht das Leben leichter und hilft Dir gleich von vornherein weniger Tippfehler zu machen.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 14.07.17 00:09 
- Nachträglich durch die Entwickler-Ecke gelöscht -
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 429
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: Fr 14.07.17 00:11 
> nach langem Rumgrübeln habe ich ich endlich verstanden dass Du nicht von Compilerfehlern sprichst, sondern von der Hintergrundübersetzung.

Und ich dachte es sind sowohl diese als auch Compilerwarnungen gemeint gewesen. Wenn es nur die roten Kringel sind macht das alles Sinn.

Und zum Verdacht mit der Unit Windows - JA, dort ist die betr. Funktion ebenfalls deklariert. Daher wird bei deren Einbinden wohl die Fehlermarkierung aufgehoben.

Die Kringelung sollte man nur als Hinweis sehen, ich habe es öfters daß Code mal markiert wird, mal nicht, obwohl er unverändert bleibt.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 14.07.17 00:38 
- Nachträglich durch die Entwickler-Ecke gelöscht -
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 376
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Fr 14.07.17 00:40 
Hallo Mandras,

den Ausdruck "Hintergrundübersetzung" habe ich noch nicht gehört. Klassisch ist es doch so:

Der Compiler macht aus der lesbaren Progrmmiersprache einen Maschinencode. Unbekannte Funktionen werden in einer Liste vermerkt.

Der Linker durchsucht die angegebenen Units nach den fehlenden Funktionen, packt den Code zu dem Programm dazu und füllt die Lücken im Maschinencode.

Eine DLL ist ähnlich einer Unit, der Header wird vom Compiler verarbeitet, aber der Linker fügt sie nur bei "statischen Laden" anm den Code an.

Wo findet da eine "Hintergrundübersetzung" statt.

Vielleicht hilt Deine Antwort bei meinem Problem, dass ich gelegentlich einen Unterschied zwischen dynamasch und statisch finde.

Vile Grüß GuaAck
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1321
Erhaltene Danke: 117

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Fr 14.07.17 01:41 
user profile iconGuaAck hat folgendes geschrieben Zum zitierten Posting springen:
Der Compiler macht aus der lesbaren Progrmmiersprache einen Maschinencode. Unbekannte Funktionen werden in einer Liste vermerkt.
Der Linker durchsucht die angegebenen Units nach den fehlenden Funktionen, packt den Code zu dem Programm dazu und füllt die Lücken im Maschinencode.

In D7 gibt es noch keinen Mitdenker/Falschdenker inm Hintergrund. Daher wirst Du das wohl auch nicht kennen. Es hat jedenfalls nicht mit Compilieren und Linken zu tuen.
Ist eigentlich eine schöne Sache um schon beim Schreiben zu erkennen wenn man mal eine Variable falsch geschrieben hat.
Aber leider wird es nervig wenn die Projekte größer werden. Anstatt einfach Tippfehler anzuzeigen oder falsche Parameter bei einem Aufruf, wird über irgendwelche nicht gefundenen Klassen lamentiert die der Compiler beim "echten" übersetzen problemlos findet. Alles wird lahm und mit roten Linien zugepiselt. Also ist das Feature bei mir immer aus.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 14.07.17 06:27 
Das ganze nennt sich Error Insight. Das ist schon durchaus praktisch, wurde mit den Delphiversionen auch immer besser. Allerdings funktioniert es am besten in sauberen kleinen Units, die nicht so stark voneinander abhängig sind (Decoupling, Clean Code, ...).

In einem mittelgroßen Projekt mit ein paar Hunderttausend Zeilen Code werden bei uns zwar ein paar falsche Fehler angezeigt, aber bei weitem nicht so viele wie früher. Da die "falschen" Fehler meistens ähnlich aussehen, ignoriere ich die einfach. Trotzdem hilft Error Insight beim Tippen durchaus, wenn direkt angezeigt wird, wenn es da ein Problem gibt.

Warum sie es bis heute nicht geschafft haben, das fehlerfrei zu bekommen, ist mir aber auch ein Rätsel. Selbst Fremdhersteller schaffen das ja besser...
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 14.07.17 07:12 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 14.07.17 11:28 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Fremdhersteller wie die Leute von Lazarus?
Ich denke vor allem an ModelMakers Code Explorer. Da funktioniert das Refactoring anders als bei Delphi auch.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 14.07.17 11:32 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Fremdhersteller wie die Leute von Lazarus?
Ich denke vor allem an ModelMakers Code Explorer. Da funktioniert das Refactoring anders als bei Delphi auch.


// EDIT:
Und auch die Live-Codeanalyse:
modelmakertools.com/...mmx-live-metrics.htm
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 14.07.17 16:13 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 15.07.17 07:17 
Ich konnte (im Gegensatz zu Error Insight) keinerlei solche Effekte feststellen, auch nicht bei größeren Projekten.

So nebenbei, wenn wir bei unterstützenden Tools sind:
Echt nett ist auch CodeInsightPlus (wenn man sich drauf einlässt und dran gewöhnt hat ;-)).
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 15.07.17 08:04 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 15.07.17 09:02 
Ohne Code Insight würde ich um Größenordnungen länger brauchen. Ich tippe zwar schnell, aber insbesondere die Möglichkeit durch Abkürzungen auch komplexe Begriffe zu ergänzen spart schon extrem viel Zeit.

Ja, Documentation Insight benutzen wir auch. Durch den integrierten visuellen Editor in der IDE sparen wie viel Zeit beim Erstellen der Dokumentation und es ist deutlich einfacher z.B. Links oder Bildinhalte oder andere Formatierungen hinzuzufügen. Natürlich könnte man die Tags auch alle manuell schreiben. Aber das dauert deutlich länger.
Und das ist bei weitem nicht so angenehm.