-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
11. Okt 2016
So habe ich es ja aktuell. Nur Blup meinte ja das, wenn man schon mit Interfaces arbeitet, auch gleich alles mit Interfaces machen sollte. Um das mal vereinfacht auszudrücken. So wollte ich das dann machen.
Aktuell habe ich ja alles mit Records aufgebaut. Das funktioniert auch.
Nur würde mich jetzt interessieren wie es mit Interfaces funktioniert wenn ich schon den Vorschlag gemacht...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
11. Okt 2016
Hallo Blup (und alle anderen Helfer),
da bin ich schon wieder. Funktioniert doch nicht so ganz wie ich das will. :roll:
Ich habe beim Erstellen des Interfaces Probleme mit den Datentypen. Ich wollte jetzt bei PWideChar bleiben und nicht wieder alles auf WideString o.ä. umstellen. Ich habe mir jetzt ein Interface erstellt, das wie folgt aussieht:
IDMSUserExchange = interface(IInterface)...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
11. Okt 2016
Das muss ich mir mal anschauen. Records sind in dem Fall zwar einfacher zu handlen wenn ich ein Array of Record benutze, aber Interfaces sind auch ganz schön. Dann müsste ich natürlich für jeden User eine eigene Interface Instanz erzeugen. :gruebel:
Wie gesagt, schaue ich mir mal an ob ich das so umsetzen kann. Wenn ich Rückfragen dazu habe, dann melde ich mich. :zwinker:
:coder: :coder:...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
10. Okt 2016
Hmm da hast du Recht. FirstName, LastName, E-Mail und Password haben in der Datenbank eine feste Länge von jeweils 50 oder 60 Zeichen. Die könnte ich mit einer festen Länge deklarieren.
Aber was mache ich mit dynamischen Längen? Die werden früher oder später auf jeden Fall kommen. Vielleicht nicht bei einem User aber bei bei einem Dokument. Oder geht es nur mit StrDispose()?
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
10. Okt 2016
Hallo zusammen,
habe jetzt schon ein gutes Stück meiner DLL fertig. Wie von Fritzew vorgeschlagen habe ich mir auch eine FreeAllocatedMemory() Procedure geschrieben die den angeforderten Speicher wieder freigibt, wenn die Informationen angekommen und zwischengespeichert sind. Funktioniert nach ein paar Tests so wie gewünscht. Ich hoffe es bleibt auch dabei. :cyclops:
procedure...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Super danke dir! Ich werde das jetzt mal so ausprobieren. :coder2: :coder:
Wenn ich Fragen habe, dann melde ich mich nochmal hier. Aber jetzt habe ich auf jeden Fall schon mal einen Ansatz wie ich das lösen kann. Jetzt muss es nur noch so funktionieren wie ich mir das vorstelle. Dann wäre es perfekt.
Nochmal ein dickes Danke! :thumb: :thumb: :thumb:
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Also ich sehe wie du das meinst. Vielen Dank! :thumb:
Du bist jetzt aber von der anderen Variante ausgegangen, dass die Funktionen in der DLL den Speicher reservieren und auch wieder freigeben. Ist das denn der bessere Weg?
:?: Wie sieht es mit meinen Anmerkungen bzgl. Int64 aus? Kann man den denn uneingeschränkt benutzen? Weil den Datentyp würde ich sehr häufig brauchen. :?:
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Okay. Habe zwar bisher wenig mit der WinAPI gearbeitet, aber das Prinzip habe ich verstanden. Allerdings hänge ich bei der Umsetzung noch ein wenig.
Wärst du so nett und würdest mir vielleicht ein Minimalbeispiel anhängen wie das dann in der Anwendung und der DLL auszusehen hat?
Ich denke die Lösung mit dem Anfragen wie viel Speicher benötigt wird ist die "bessere", da sie an die WinAPI...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Hallo Fritzew,
danke für die Antwort. Das mit den Strings war mir bewusst. Nach den etlichen Tutorials die ich durchgelesen habe umso mehr. :-D
Die Funktion hätte ich auch mit einem Var Parameter aufgebaut, da ich das so auch aus der WinAPI kenne.
Wie wird denn jetzt die von dir beschriebene Funktion aufgerufen. Muss das dann auch zwingend ein Array of AnsiChar sein? Kann man da...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Hallo taveuni,
sieht ja auch interessant aus. Nur wollte ich das alles für den Anfang ein wenig kleiner halten. Bin leider auch nicht so ein Freund davon, direkt Komponenten für ein Vorhaben zu kaufen. So etwas sollte sich ja eigentlich problemlos mit DLLs lösen lassen. Wenn man es denn kann.
Interessant sieht das aus, keine Frage. Nur weiß ich eben auch nicht, ob dass das Richtige für...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
5. Okt 2016
Irgendwie kann ich mir nicht vorstellen, dass noch niemand eine DLL in Delphi geschrieben haben soll. :(
Da muss es doch einfache Möglichkeiten geben sowas zu machen.
Ich zähle nochmal kurz auf, was ich benötige:
Übergabe von Strings respektive PChar an die DLL (natürlich auch andere Datentypen wie Integer, Float und auch Records ... welche aber ja keine Probleme machen sollten...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
4. Okt 2016
Hat hierzu noch jemand eine Idee? Kann man das so machen bzw. macht man das überhaupt so wie in meinem Beispiel gezeigt?
Wenn nicht, dann wäre es super wenn mir vielleicht jemand ein Beispiel machen könnte wie man so etwas am Elegantesten löst. Ich finde hierzu irgendwie keine passenden Informationen oder kann sie zumindest nicht auf meinen Fall anwenden.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
1. Okt 2016
Also Interfaces würde ich ja auch benutzen. Das steht außer Frage. Nur stehe ich auf dem Schlauch, was das Abrufen von Ergebnissen vom SQL-Server und das Übergeben der Ergebnisse an die Anwendung angeht. Innerhalb meiner Anwendung würde ich die Ergebnisse gerne in Form eines Objektes zwischenspeichern. Um mal bei den Benutzern zu bleiben als Instanz bzw. mehrere Instanzen eines TUser Objektes.
...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Danke. Werde ich mir mal anschauen.
Trotzdem bleibt für mich immer noch das Problem, dass ich noch nicht den 100%igen Durchblick habe, wie ich denn die DLL jetzt aufbauen muss. Kann da vielleicht mal jemand ein kleines Beispiel machen.
Pseudoabfrage von einem SQL-Server und Übergabe der Daten an mein Programm. Die Funktion wird dann logischerweise aus dem Programm heraus aufgerufen. Wäre...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Naja bedingt ja schon. Zacherl hat ja darauf hingewiesen, dass FastMM da ein Auge drauf hat. Natürlich würde ich dann auch ganz gerne wissen wie ich Fehler (auch im Bezug auf DLL Programmierung) finde wenn denn welche auftreten. Ich will natürlich jetzt nicht für alle möglichen kleinen Fragen eine extra Thread öffnen. Das kommt mir dann immer so unnötig viel / überflüssig vor.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Das heißt also, dass sich das alles nur im Hintergrund abspielt und ich davon nix merke? Und ReportMemoryLeaks... immer noch nur dieses Standardfenster ausgibt?
Ich dachte immer, dass FastMM viel mehr Informationen zur Verfügung stellen würde. Wenn ich mich recht entsinne gab es doch eine Inc Datei in der Einstellungen vorgenommen werden konnten. Verzeiht mir die vielleicht blöden Fragen, aber...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Irgendwie stehe ich gerade auf dem Schlauch. Es ist nicht so, dass ich deine Antwort nicht verstehen würde, aber es hat noch nicht so richtig "klick" gemacht. :evil:
Ich hänge immer nochdabei, wie ich das auf mein Programm anwenden soll. Es kann doch nicht so schwer sein, eine DLL zu programmieren.
Wie binde ich denn eigentlich FastMM4 ein. Ein ReportMemoryLeaksOnShutdown := True wird es ja...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Achso ok. :oops:
Jetzt stelle ich mir nur die Frage, wie ich denn dann mein Interface aufbaue. Ich muss ja mehrere - in dem Fall dann Records - übergeben. Nämlich pro User der in der Datenbank angelegt wurde einen. Das wiederum wäre dann ja wieder ein Array of TUserData oder so.
Kann ich also bedenkenlos einen Record aufbauen in dem ein bzw. mehrere Strings enthalten sind? Wie stelle ich...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Also die Anwendungen sind beide in Delphi geschrieben. Bei der Übergabe von Records habe ich aber auch gelesen, dass es da Probleme gibt/geben kann. FastMM4 verwende ich nicht. Sollte man das denn? Bisher bin ich ganz gut ohne einen fremden MemoryManager klar gekommen.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Aviator,
30. Sep 2016
Hallo zusammen,
in letzter Zeit häufen sich die Threads die ich selber öffne. :shock:
Konkret geht es darum, dass ich gerade dabei bin ein komplett neues Projekt zu beginnen. In einem anderen Thread habe ich bereits geschrieben, dass es sich um ein selbstentwickeltes DMS handelt.
Ich möchte mein Programm in ein paar Teile aufsplitten und das ganze dann in eine DLL auslagern. Das ganze...