![]() |
Re: Dll Problem
Geh weg mit Luckis Anleitung damit kannste Anfänger behängen. Stimmt schon das das Falsch war,
natürlich sollte man sich vor ne Speicher beantragen "GetMem" und dann das ganze übergeben. Das Problem ist nemlich das 1. Man darauf achten muss das man keine Dyn. Speicher bereiche Übergibt. 2. Speicher übergibt der nicht schon wieder freigeben wurden ist. Im klar text jede Seite muss den Speicher erreichen und muss auch wiessen wie groß der Bereich ist. Der Fehler hat sich in der Eile eingeschlichen und dann hatte ich schon lange nicht mehr mit einer DLL gearbeitet. |
Re: Dll Problem
@nitschchedu: nachdem du deine Kenntnisse in der Sprache Deutsch aufgebessert hast, darfst du dich gerne nochmal mit den Grundlagen der Sprache Pascal beschäftigen
(wer nämlich mit mit h schreibt ist dämlich [und wer es auch noch mit e schreibt ist ... :) ]) |
Re: Dll Problem
:x So biste zufrieden !!! ? Fühlste dich jetzt besser das du jemanden gezeigt hast der LRS hat und der ganz schnell Posten wollte wie man Deutsch schreibt ? Jetzt weiß ich wieder warum ich es hier vermeide leuten zuhelfen. :|
|
Re: Dll Problem
es geht eigentlich darum das du die ShareMem schlecht gemacht hast (was ja generell nicht falsch ist sondern eben Ansichtssache) aber deine Begründung dann total daneben ging. Denn deine Alternative zur ShareMem war Fehlerhaft und nicht brauchbar.
|
Re: Dll Problem
Das ich von ShareMem nichts halte ist eine Sache. Aber da ich versucht habe zuhelfen und dann mir gegen über sich auch noch im Ton vergriefen würd, finde ich zum Kotzen. Desweiteren auch die Leute die mehr Wiessen und dann so herrablassend zu einen sind. (Dies ist mir im Forum ihr schon mehrmals aufgefallen.)
Übrigens ist das hier auch Murks: Zitat:
Nun kann der String freigeben werden wie er will. Der Result Speicher ist dann drotzdem noch da und immer noch der Selber. Und der Resultspeicher würd erst freigeben wenn das Programm ein Befehlsatzt weiter ist als der Aufruf der funktion. Desweiteren kann man das ganze noch sichern in dem man die funktion in eine Klasse legt und die Klasse zurückgibt oder eben GetMem nihmt. |
Re: Dll Problem
Zitat:
Zitat:
|
Re: Dll Problem
Zitat:
Auch weiss ich schon länger, dass du LRS hast und habe auch nie etwas dazu geschrieben und nehme darauf genauso Rücksicht. Genauso wenig will ich herablassend wirken. Und das ich mehr Wissen haben sollte, würde ich niemals behaupten und da ich deins nicht kenne, würde ich sowas nicht schreiben (siehe meine Signatur). Zitat:
-> Überprüfen das der String nicht leer ist und wenn nicht, einfach die Adresse des AnsiStrings für den PChar zurück geben (siehe LStrToPChar) - ansonsten gibt er die Adresse eines bei ihm fest abgelegten Nullbytes zurück. Dann ist Ende der Procedure und er räumt den AnsiString ab. Sprich: er fügt eine Null bei der Länge ein und dekrementiert den Reference Counter (siehe LStrClr). Sonst passiert nichts weiter, es wird nichts kopiert und gar nichts. Von daher gibt es keinen "Result Speicher" - der PChar ist dann genauso tot wie der String. Zitat:
Und GetMem() in der DLL? Und dann in der App freigeben? Dies würde nicht hinhauen, da es unterschiedliche Speicherverwalter sind (siehe Luckie's "Anfänger Tutorial"). Und wenn du das FreeMem() zum GetMem() in die DLL holst: Wann willst du denn FreeMem() aufrufen? Wann weisst du, dass die App den Speicher nicht braucht? Willst du dir eine immer länger werdende Liste in der DLL halten mit Speicher zum freigeben den du beim entladen der DLL freigegeben willst? Bitte erkläre das nochmal genauer. Zitat:
|
Re: Dll Problem
Ach mist, ich habe dich verwechselt. Ich meinte natürlich Muetze1. Und was heißt ich dich nicht mögen? Du bist mein Lieblings-DP-Mitglied. :kiss: :mrgreen:
|
Re: Dll Problem
Der Rechtschreibevorwurf ging an brechi !
So Anleitungen sind für Leute die es noch nicht wiessen (über das Thema) und es nun wiessen wollen. Getest habe ich vieles und auch Überprüft mit deiner Anleitung (Die mal vor 2 Jahren in der Hand hatte) aber auch mit anderen. Mutze1 würde ich es vorschlagen das er es mal Test und dann sich wundern Darf warum der Speicher nicht Frei ist auch wenn er den String Freigibt vor der Übergabe ;-). Des weiteren werde ich zu den Thema nix mehr sagen. |
Re: Dll Problem
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 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