AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLLs in komplexen Programm

Ein Thema von hans ditter · begonnen am 12. Dez 2010 · letzter Beitrag vom 16. Jan 2011
Antwort Antwort
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: DLLs in komplexen Programm

  Alt 8. Jan 2011, 05:50
Guten Morgen Hans Ditter,

ich sehe schon, es geht Dir ähnlich wie mir am Anfang. Delphi/Object Pascal und OOP (ObjektOrientierte Programmierung) sind auf den ersten Blick sehr verwirrend und umfangreich und viele Dinge (Klassen und deren Vererbung) erscheinen oftmals als schier unüberblickbare Konstrukte, deren Sinn sich einem einfach nicht erschließen möchte. Doch hat man erst einmal die Logik verstanden, ergeben sich plötzlich ungeahnte Möglichkeiten.

Für einen besseren Einstieg kann ich hier zwei Seiten empfehlen, die mich persönlich beim Einstieg bestens unterstützt haben:

Delphi-Lehrgang Einsteiger:
http://delphi.zsg-rottenburg.de/lektionen.html

Tutorials für Delphi:
http://www.michael-puff.de/Programmi...phi/Tutorials/

Bei den Tutorials zu Delphi von Michael Puff solltest Du Dir besonders die ersten drei Tutorials durchlesen (COM, Container-Klassen und Klassen), aber eins nach dem Anderen. Im Grundlehrgang findet sich eine sehr gute Erläuterung zur Klassendefinition (Ableiten von Basisklassen, Vererbung usw.).

Ich werde auch mal sehen, ob ich genügend Zeit aufbringen kann und mal ein kleines Beispiel zu Interfaces schreibe (Kann ich aber noch nicht versprechen).

Viele Grüße,
Marc
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: DLLs in komplexen Programm

  Alt 8. Jan 2011, 07:25
@hans ditter

Wenn Du Dich mit Interfaces beschäftigen möchtest, würde ich Dir TInterFacedPersistent anstatt TInterfacedObject als Option ans Herz legen wollen.
Die IMHO intransparenete Speicherverwaltung von TInterfacedObject, bzw. darauf basiererend Komponenten fällt damit weg und alles verhält sich etwas mehr wie gewohnt.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: DLLs in komplexen Programm

  Alt 8. Jan 2011, 11:25
@Bummi
Danke, werd ich mir merken.

@Marc
Danke für die Links, die les ich mir mal durch. Mal schauen, vielleicht ist mir dann ja schon einiges klarer.
Du hast allerdings Recht: Am Anfang ist das irgendwie alles seeehr unübersichtlich. Vor allem Vererbung ist manchmal sehr komisch...

LG, hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: DLLs in komplexen Programm

  Alt 12. Jan 2011, 15:10
Oh mann... ich verstehs einfach nicht *heul*

Ich hab mir die ganzen Sachen durchgelesen. Dann hab ich versucht, dass ganze selbst mal umzusetzten. Ich hab das Ergebnis rangehängt. Aber es funktioniert überhaupt nicht. Schon beim Start sagt er mir, dass da ein Zugriffsfehler ist.
"...Exception der Klasse EReadError mit der Meldung 'Ungültiger Eigenschaftswert' aufgetreten."
Wenn ich dann auf Fortsetzen klicke:
"...Exception der Klasse EReadError mit der Meldung 'Fehler beim Lesen von Form1.OnCreate: Ungültiger Eigenschaftswert' aufgetreten."
Und dann stürzt das Programm ab...

Helft mir...bitte!
Angehängte Dateien
Dateityp: zip DLL.zip (706,8 KB, 3x aufgerufen)
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: DLLs in komplexen Programm

  Alt 12. Jan 2011, 20:51
@Hans Ditter

Kann es sein das die angehängte ZIP-Datei nicht das fertige Projekt enthält?
Du hast nämlich noch keine Klasse in der DLL erstellt, die das Interface nutzt. Desweiteren hast DU keine globale Funktion über die Du Dir das Interface in Deine Anwenung meldest.
Nochdazu hast Du die DLL aus der Hauptanwendung heraus gar nicht in den Speicher geladen.
So funktioniert das nicht.

ich kann nur nochmal empfehlen:

1. Grundlehrgang für Delphi durcharbeiten
2. Tutorial von Olli (assarbad) zum Thema DLLs durcharbeit, dann wird auch Deine gesamte DLL plötzlich komplett anders aufgebaut sein.

Setze Dich dabei bitte auch explizit mit den Themen Klassen und Zeiger auseinander, damit der DLL-Aufruf und die Klassenimplementation auch funktioniert.

Grüsse,
Marc
Marc
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: DLLs in komplexen Programm

  Alt 12. Jan 2011, 21:34
hmm... da hab ich dann wohl grundlegend was falsch verstanden. Ich werd's mir nochmal anschauen und das ganze überarbeiten. Hast du nochmal einen Link für das DLL-Tutorial? Oder findet man das schnell über die Suche?

angenehme Nachtruhe,

hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: DLLs in komplexen Programm

  Alt 12. Jan 2011, 21:37
http://assarbad.net/en/stuff/tutorials/dll_tutorial/
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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