![]() |
Re: DLL Integration kürzen
Zitat:
Der Punkt ist, dass ein Interface, das auf die gleiche Art deklariert wird, immer auch die gleichen Methoden an den gleichen Slots haben wird. Das ist eine Vorraussetzung von COM, und wir können es hier als eine Art compiler- & modul-übergreifendes Esperanto für Objekte benutzen. :-) |
Re: DLL Integration kürzen
Zitat:
|
Re: DLL Integration kürzen
Zitat:
Außerdem reicht ein weiteres Feld vor dem letzten um alles über den Haufen zu werfen. Klassen = Intramodulobjekte, mit der Ausnahme von Packages oder gemeinsam verwendeten Runtimepackages. Interfaces = Intermodul- & Intercompilerobjekte Klassen für letzteres zu benutzen ist wie Polymorphie mit Vanilla-C, möglich aber krank. Nicht zu vergessen es ist eine echte Bitch sowas zu dokumentieren. Unsere Zunft produziert auch dann noch so schlechte Qualität, dass es beschämend ist, wenn man sich an alle Regeln und Good-Practices hält. Warum es unnötig noch weiter herausfordern, hmm? ;-) |
Re: DLL Integration kürzen
Zitat:
Und ich dachte immer, dass der Compiler einfach die erste virtuelle Methode an VMT-Slot 1 setzt, die zweite an Slot 2, usw. - bei Klassen wie bei Interfaces. Wie war das denn vor jenen Änderungen? |
Re: DLL Integration kürzen
Zitat:
Du hast dich ein wenig zu sehr auf das eine Beispiel eingeschossen, was ich oben erwähnt habe. ;-) btw: Meine DLL in dem Bleistift oben ist 17KB groß. Wie große wäre sie gewesen, wenn ich dort tatsächlich ein TStrings benutzt hätte? 300 KB, 400? ;-) |
Re: DLL Integration kürzen
Zitat:
Zitat:
Zitat:
Selbst wenn jemand auf die Idee käme ein "passt scho'" zu akzeptieren wird er damit eben irgendwann ganzgehörig auf die Nase fallen und dann nicht mehr wissen warum (solche selbstgeschaffenen "Fehler" sind nicht so einfach zu finden) Zitat:
Ciao, Ralf |
Re: DLL Integration kürzen
Zitat:
Zitat:
Und für die meisten Sachen gibts ja Interfaces...die sind sowieso viel schöner und sauberer. Zitat:
Zu deiner Frage also eigentlich sollte er ein Package verwenden...ausser es liegt ein Szenario vor in dem einige ausgewählte Units mit unterschiedlichen Kompilerschaltern genutzt werden müssen.... Ein Package ist auf jeden Fall sauberer wenn man sein Projekt von Grund auf so plant. Wenn er ne größere Sache umstellt kann es durchaus sein das eine DLL und ein paar schmutzige Tricks vorzuziehen sind. @Elvis: Quick and Dirty is an Art , isn't it? Ausserdem ist es kosteneffektiv und Arbeistplatz sichernd, wenn nur du weist warum das TROTZDEM geht. Zugegeben es ist nicht schön.... Ausserdem ist der von Delphi mitgelieferte IS Operator so ziemlich das langsamste was es in dieser Richtung geben kann, Wenn man mal das Verfahren der Infopower leute nimmt geht einiges wesentlich schneller!!! Performance ist ja leider seit Dotnet nicht mehr in Mode. |
Re: DLL Integration kürzen
Zitat:
Solange man die Projekte auf seinem Ex-Rechner kompillierte funktionierte alles tadellos. Nur auf meinem Rechner wollten einige Sachen einfach nicht klappen was logisch war, hatte ich doch ein frisch installiertes System. So entwickelt man gegen solche Praktiken schnell eine extreme Allergie!! |
Re: DLL Integration kürzen
@Algi001:
Ich dich kann ich verstehen. Es war auch mehr ein experimenteller Patch, nur um zu sehen ob das geht, hab dabei viel gelernt. Im Übrigen sind VCL Patches durchaus sinnvoll du solltest da keine allergischen Reaktionen ausbilden. In unserer Firma wurde z.B. die DBtables von D3 bis D7 immer gepatched, weil es scheinbar nicht möglich war das die Borländer einen Bug beseitigten, der in seltenen Fällen auftrat. Da wir "leider"(!!!) sehr viele Toolbibliotheken verwenden ist bei uns das Einrichten einer Arbeitsumgebung sowieso auf mehreren Seiten Dokumentiert. Es dauert 1-2 Tage um eine Arbeitsplatz einzurichten, deswegen machen wir alles auf VMs. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz