Seite 2 von 2
Verfasst: 30.12.2006 12:42
von ts-soft
Beide Programme müssen den Speicher mit demselben Namen allokieren.
Bitte etwas ausgefallenes als String wählen
Beide Programme greifen mit dem Ergebnis auf denselben Speicher zu und
alle Programme, die diesen allokiert haben, müssen diesen auch freigeben.
Freigegeben wird er erst, wenns der letze freigegeben hat!
Size sollte bei allen Programmen gleich sein. Ob 2 oder 10 Programme ist egal.
Gruß
Thomas
Verfasst: 30.12.2006 14:14
von DarkSoul
Kann ich "WichtiaPlayerWurstReifenLampeHaargel1478523690" nehmen oder muss ich da was befürchten?
Verfasst: 30.12.2006 14:47
von DarkSoul
Verfasst: 30.12.2006 19:13
von Kaeru Gaman
Verfasst: 16.12.2007 15:14
von STARGÅTE
*Thema Ausgrab*
Ich hatte da noch n Frage TS, du sagtest ja :
Beide Programme greifen mit dem Ergebnis auf denselben Speicher zu und alle Programme, die diesen allokiert haben, müssen diesen auch freigeben.
Freigegeben wird er erst, wenns der letze freigegeben hat!
Was ist nun wenn eine EXE manuell beendet werden muss/wird, und der Speicher nich direkt von der EXE freigegeben wurde, ist das dann so wie bei den anderen sagen, dass dann automatisch wieder alles frei wird, oder bleibt der Speicher dann für immer belegt, obwohl ihn keine EXE mehr braucht ?
Verfasst: 04.01.2008 02:04
von Susi55
Hallo,
Frohes Neues Jahr an alle
Wenn ein Programm außerhalb seines von Windows zugewiesenen Speicher zugreift löst das OS eine Exception aus.
Wenn nicht sollte das Virenprogramm den Vorgang stoppen.
Um ein Doppelstart zu verhindern sollte immer CreateMutex(nil,True,“Programmname“) verwendet werden.
Bringt if GetLastError = ERROR_ALREADY_EXISTS
eine Fehlermeldung ist eine Programminstans beim laufen.
Ist eine beim laufen den Dateinamen übermitteln, wie beschrieben, und Programm beenden sonst weiterarbeiten.