![]() |
Tmemo in DLL
Tag Zusammen,
ich bin mir sicher ich mache einen Fehler: Ich mcöhte in einer Dll eine Memo erzeugen nur kommt beim starten der dll immer etwas mit kein übergeordnetes fenster?? Was mache ich falsch? Bitte schaut euch dass mal an:
Delphi-Quellcode:
library latlontowaypointlist;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses Classes, SysUtils, StdCtrls, math,forms,sharemem; type TWaypoint = record Event_Flag : String[1]; holdtime: String[50]; height: String[50]; Kurs:String[50]; Entfernung:String[20]; Pos_Alt_Lat:String[50]; Pos_Alt_Lon:String[50]; Pos_Lat:String[50]; Pos_Lon:String[50]; ToleranceRadius:String[10]; end; var pointnr: 0000..9999; waypoint: Twaypoint; Memo1:tmemo; Kurs : real; //' Der Kurs zwischen Start und Ziel Entfernung : real; //' Die Entfernung zwischen Start und Ziels ToleranceRadiusw,holdtimew,heightw : real; {$R *.res} (...) procedure ini(); register; begin Memo1:= TMemo.create(nil); Memo1.clear; Memo1.lines.add('<Waypoints>'); Memo1.lines.add('</Waypoints>'); end; (...) |
AW: Tmemo in DLL
Und wo ist das Formular? Ein Memo ohne Formular zum Anzeigen macht wohl kaum Sinn.
|
AW: Tmemo in DLL
Für XML eignen sich XML-Bibliotheken recht gut.
Und wozu soll das Memo denn gut sein, bzw. würde eine TStringList geeigneter sein? (aktuell wird das Memo ja nirgends angezeigt) |
AW: Tmemo in DLL
Hallo MiniMax,
hat jetzt nichts mit Deinem Problem zu tun, aber Du mußt außerdem darauf achten, ShareMem als ERSTE unit unter uses... aufzuführen. Siehe Hinweistext am Anfang der library.... Also z.B.
Delphi-Quellcode:
Gruß,
uses
ShareMem, Classes, SysUtils, StdCtrls, math, forms; blauweiss |
AW: Tmemo in DLL
Hallo Zusammen,
ich benutzte das Memo, da ich dort die Strings am Einfachsten speichern kann?!? Bei Stringlist kann ich doch nicht das selbe mit machen wie mit dem Memo? Ich nutze Stringreplace am meisten und dann noch savetofile ?? Angezeigt soll nix werden! Würde in der Dll das mit stringlist besser gehen auch ihne dieses .create(nil) schrott? |
AW: Tmemo in DLL
Du kannst in deiner DLL ohne weiteres kompilizierte Kurs-, Entfernungs- und Ortberechnungen einbauen.
Das würde auf jeden Fall Sinn machen, denn dann könnten auch andere Programme diese Kernfunktionen, die viel mathematisches Knowhow erfordern, nützen. Was aber eher schlecht ist, wenn deine DLL irgendwelche visuellen Steuerelemente (Controls) verwendet. Das macht nämlich erhebliche Probleme, da dann zwei Instanzen der VCL existieren, die nicht zusammen kommen. Ich würde auch das Laden und Speichern von Konfigurationsdateien nicht in die DLL packen, sondern alle notwendigen Daten der DLL von "Aussen" also aus der Anwendung übergeben. Wo man jetzt genau die Trennlinie zwischen Anwendung und DLL zieht hängt immer auch vom Einzelfall ab. |
AW: Tmemo in DLL
Mit einer Stringliste kannst du alles machen, was man auch mit einem TMemo machen kann, denn die Eigenschaft Lines ist auch nur ein Nachfahre von TStrings.
|
AW: Tmemo in DLL
Cool es hat geklappt! Aber Irgendwie gehts dass entladen net?? Es bleibt im Taskmaneger drinne ??? Was mache ich falsch?
Bei Oncloase und Ondestroy miener Form rufe ich ne Procedure auf, die sagt, Stringlist.free; ??? Was is falsch |
AW: Tmemo in DLL
Niemand eine Idee?
|
AW: Tmemo in DLL
Ich bitte euch helft mirbitte!!!
Ich brauche da ne Lösung |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 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