AGB  ·  Datenschutz  ·  Impressum  







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

Von ShareMem zu FastMM4

Ein Thema von geskill · begonnen am 30. Mai 2008 · letzter Beitrag vom 30. Mai 2008
Antwort Antwort
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#1

Von ShareMem zu FastMM4

  Alt 30. Mai 2008, 15:38
Hi,
derzeit benutze ich noch ShareMem zum übergeben von mehrzeiligen, langen Strings.
Jedoch benötigt das Programm eine DLL, dann habe ich etw. "gegooglet" und traf auf FastMM4.

So, und jetzt funktioniert es nicht mehr, das Verfahren ist das gleiche wie bei ShareMem,
in der Application.dpr + DLL.dpr muss in der uses deklaration jeweils als erstes FastMM4 stehen.

Ich habe auch etw. getestet:
Application.dpr "ShareMem" mit DLL.dpr "ShareMem" funktioniert
Application.dpr "ShareMem" mit DLL.dpr "FastMM4" funktioniert nicht // natürlich blödsinn!!
Application.dpr "FastMM4" mit DLL.dpr "FastMM4" funktioniert nicht
Application.dpr "FastMM4" mit DLL.dpr "ShareMem" funktioniert mit Fehlermeldung // natürlich blödsinn!!

Daraus erschließe ich das der Fehler "eher" was mit der DLL zu tun hat...

Ich habe ein Bilder der Zugriffsverletzung angehängt. Wäre nett wenn sich das mal einer anschaut ;-)
Miniaturansicht angehängter Grafiken
zuver_189.png  
Sebastian
  Mit Zitat antworten Zitat
shmia

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

Re: Von ShareMem zu FastMM4

  Alt 30. Mai 2008, 16:05
Natürlich muss in der Applikation und der DLL nur die FastMM Unit eingebunden werden.
Die Unit ShareMem darf nirgends auftauschen (bitte Sourcecode durchsuchen).


Wenn du jetzt trotzdem eine Zugriffsverletzung hast, dann liegt es zu 99% nicht an FastMM, sondern an deiner Anwendung oder DLL.
Edit: dat stimmt so nicht, denn mit ShareMem tut es ja.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Von ShareMem zu FastMM4

  Alt 30. Mai 2008, 16:22
So ich habs, ich draf die DLL nicht wieder freigeben.
FreeLibrary(hLib); Was ist das denn für'n "scheiß" ?
Ich rufe normalerweise eine Funktion auf, bekomme einen String, und gebe diese wieder frei,
wieso geht das mit FastMM4 nicht oder wird diese automatisch freigegeben? Selten dähmlich,
sowas hätten die in die ReadMe schreiben können etc...

EDIT:
Aso, jetzt klappt es auch problemlos mit einer EXE mit ShareMem auf eine DLL mit FastMM4
zuzugreifen.
Sebastian
  Mit Zitat antworten Zitat
shmia

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

Re: Von ShareMem zu FastMM4

  Alt 30. Mai 2008, 16:38
Schau dir mal die Defines
ShareMM | AttemptToUseSharedMM | ShareMMIfLibrary
in der Datei FastMM4Options.inc an.
Damit hängt es wohl zusammen.
Andreas
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Von ShareMem zu FastMM4

  Alt 30. Mai 2008, 16:43
Hi,

auch ´ne Möglichkeit:

Sharemem nimmt es oft nicht so "genau", hier fallen Programmierfehler manchmal nicht direkt auf.
FastMM dagegen prüft, je nach Einstellungen, alle Speicherallocationen und schlägt Alarm.
Der Fehler kann also durchaus in der DLL liegen!
FastMM sollte aber auch ein Log mit den Fehlerstellen schreiben
Gruß
Norman
  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 21:35 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