AGB  ·  Datenschutz  ·  Impressum  







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

Tmemo in DLL

Ein Thema von MiniMax · begonnen am 7. Sep 2010 · letzter Beitrag vom 9. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#1

Tmemo in DLL

  Alt 7. Sep 2010, 16:29
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;

(...)
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Tmemo in DLL

  Alt 7. Sep 2010, 16:39
Und wo ist das Formular? Ein Memo ohne Formular zum Anzeigen macht wohl kaum Sinn.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#3

AW: Tmemo in DLL

  Alt 7. Sep 2010, 16:43
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#4

AW: Tmemo in DLL

  Alt 7. Sep 2010, 16:55
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:
uses
  ShareMem,
  Classes, SysUtils,
  StdCtrls, math, forms;
Gruß,
blauweiss
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#5

AW: Tmemo in DLL

  Alt 7. Sep 2010, 17:01
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?
Gruß
MiniMax

Geändert von MiniMax ( 7. Sep 2010 um 17:03 Uhr) Grund: Satzt vergessen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Tmemo in DLL

  Alt 7. Sep 2010, 18:16
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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Tmemo in DLL

  Alt 7. Sep 2010, 19:45
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#8

AW: Tmemo in DLL

  Alt 8. Sep 2010, 09:58
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
Gruß
MiniMax
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#9

AW: Tmemo in DLL

  Alt 8. Sep 2010, 19:00
Niemand eine Idee?
Gruß
MiniMax
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#10

AW: Tmemo in DLL

  Alt 9. Sep 2010, 14:12
Ich bitte euch helft mirbitte!!!

Ich brauche da ne Lösung
Gruß
MiniMax
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz