Verfasst: 23.01.2006 17:19
@PMV
Also bevor ich teste erstmal folgendes.Ich wollte auch schon die Speicherverwaltung übernehmen, aber das ist ja nicht der sinn und zweck, das wollte ich mir ja extra ersparen. ich weiß moe wie lang die strings sind und muß die ständig ändern. dachte ich.
was ich nun nicht verstehe, ich wollte / müßte dann mit allcocate in ein long oder pointer schreiben. aber "\s" wäre doch dann die adresse in eine string zu schreiben. auf jedenfall nach der hilfedatei.
Kurze Erklärung wäre nett, damit ich es verstehe (teste gerade nebenbei und den string kann man anscheined auslesen).
Hmm, da hätte ich den Code vorher mal genau lesen sollen. Genau das soltle ja nicht geschehen. Die Strings sind dann ja doch wieder Pointer. Damit ist der Sinn und Zweck der Strukturen zum Großteil oder ganz verloren. Ok, da man den den Speicherbereich nun über die Namen der Strukturinhalte nutzen kann, ist es noch übersichtlicher, als wenn ich
*starID +(4*x) zum auslesen nehme. aber dennoch nicht so super toll.
gibt es denn keine Möglichkeit normal "Strings in Strukturen" zu nutzen und den Speicher freizugeben? Ich arbeite damit ja erst seit kurzem und denke / hoffe das ich da einfach nur noch etwas nicht weis.
Ich vermute aber das diese "verbiegen" der Strukturen in einen Speicherbereich mittels MEmory nicht angedacht ist.
Wäre schade, diese Vorlagen von euch sind nämlich ansonsten interessant.
@ts-soft
Ich weiß noch nicht genau wie du das jetzt meinst, besser gesagt mich verstanden hast. Das wenn ich Speicher mit PB freigebe (freememory oder einen string kürze) dann ist der natürlich sofort auch in Windows freigegeben. Aber so wie indem Beispiel von "NicTheQuick" (und danach von mir) geht es darum, das der Speicher in dem Beispiel Nicht freigegeben wird bzw. werden kann. So wie im langen Quellcode der Startpointer einer Struktur(variablen) geändert wird, so daß er auf einen Memorybereich zeigt geht es nur mit Speicherverlust, sobald die Struktur einen String beinhaltet (falls es anderes gibt, das noch nicht getestet).
Es ist auch an sich logisch, wenn nur EINE Strukturvariable erstellt wird zum Zugriff auf den Memorybereich, wohder soll diese eine Variable alle Positionen der Strings vermerken um sie zu löschen? Geht nicht.
Aber irgendwie dachte ich muß es doch gehen und sei es mit zwischenspeichern, aber da klappt nicht.
Da dieses schreiben in Memorybereiche per Strukturvariable Gang und Gebe ist (habe das schon oft gesehen in Codes) dachte ich mir, das dies eine korrekte Art der Anwendung ist und habe meine Code danach ausgerichtet. Aber das scheint so wohl nicht zu sein.
[edit]
wärend ich schrieb und testete haben schon wieder zwei von euch geschrieben,darauf antworte ich auch gleich.
Also bevor ich teste erstmal folgendes.Ich wollte auch schon die Speicherverwaltung übernehmen, aber das ist ja nicht der sinn und zweck, das wollte ich mir ja extra ersparen. ich weiß moe wie lang die strings sind und muß die ständig ändern. dachte ich.
was ich nun nicht verstehe, ich wollte / müßte dann mit allcocate in ein long oder pointer schreiben. aber "\s" wäre doch dann die adresse in eine string zu schreiben. auf jedenfall nach der hilfedatei.
Kurze Erklärung wäre nett, damit ich es verstehe (teste gerade nebenbei und den string kann man anscheined auslesen).
Hmm, da hätte ich den Code vorher mal genau lesen sollen. Genau das soltle ja nicht geschehen. Die Strings sind dann ja doch wieder Pointer. Damit ist der Sinn und Zweck der Strukturen zum Großteil oder ganz verloren. Ok, da man den den Speicherbereich nun über die Namen der Strukturinhalte nutzen kann, ist es noch übersichtlicher, als wenn ich
*starID +(4*x) zum auslesen nehme. aber dennoch nicht so super toll.
gibt es denn keine Möglichkeit normal "Strings in Strukturen" zu nutzen und den Speicher freizugeben? Ich arbeite damit ja erst seit kurzem und denke / hoffe das ich da einfach nur noch etwas nicht weis.
Ich vermute aber das diese "verbiegen" der Strukturen in einen Speicherbereich mittels MEmory nicht angedacht ist.
Wäre schade, diese Vorlagen von euch sind nämlich ansonsten interessant.
@ts-soft
Ich weiß noch nicht genau wie du das jetzt meinst, besser gesagt mich verstanden hast. Das wenn ich Speicher mit PB freigebe (freememory oder einen string kürze) dann ist der natürlich sofort auch in Windows freigegeben. Aber so wie indem Beispiel von "NicTheQuick" (und danach von mir) geht es darum, das der Speicher in dem Beispiel Nicht freigegeben wird bzw. werden kann. So wie im langen Quellcode der Startpointer einer Struktur(variablen) geändert wird, so daß er auf einen Memorybereich zeigt geht es nur mit Speicherverlust, sobald die Struktur einen String beinhaltet (falls es anderes gibt, das noch nicht getestet).
Es ist auch an sich logisch, wenn nur EINE Strukturvariable erstellt wird zum Zugriff auf den Memorybereich, wohder soll diese eine Variable alle Positionen der Strings vermerken um sie zu löschen? Geht nicht.
Aber irgendwie dachte ich muß es doch gehen und sei es mit zwischenspeichern, aber da klappt nicht.
Da dieses schreiben in Memorybereiche per Strukturvariable Gang und Gebe ist (habe das schon oft gesehen in Codes) dachte ich mir, das dies eine korrekte Art der Anwendung ist und habe meine Code danach ausgerichtet. Aber das scheint so wohl nicht zu sein.
[edit]
wärend ich schrieb und testete haben schon wieder zwei von euch geschrieben,darauf antworte ich auch gleich.