remi_meier hat geschrieben:Was meinst du, wieso du Rückgabestrings immer als Global definieren musst?
Das verstehe ich jetzt nicht, also man kann doch laut PB-Hilfe problemlos einer Procedure einen String als Rückgabewert übergeben.
procedure.s test()
procedurereturn testvar
Wenn man aber von eine Procedure einen String zurück bekommen kann, warum nicht auch von einer DLL? soweit ich weiß müßte das gehen. Testen kann ich aber frühsten morgen oder übermorgen.
Und auf das allocieren und freigeben von speicher müßte auch "DLLübergreifend" gehen.
MRK-Soft hat mal eine TCP.dll erstellt (MRK hat glaube ich auch die easydb.dll erstellt /galaxy) und dort kommt man einen speicherbereich erstellen, den übergeben und mußte nichts mehr löschen, weil die dll das tat. oder umgekehrt.
Da eine Dll wohl wirklich wie ein "eigenes programm" arbeitet, aber den selben speicher des hauptprogrammes teilt, sollte das doch wirklich möglich sein. besonders wenn für dll und hauptprogramm Purebasic genommen wird.
heute komme ich da nicht mehr zum testen. versuche es aber morgen mal. Könnte mir höchstens Vorstellen, das PB die Speichervergabe (MEmory, Variablen, Strukturen) intern verwaltet und das nicht abhängig zum Speicherbreich macht, nicht direkt. dann würde es natürlich Probleme geben. Ich habe da aktuell "leicht ähnliches Problem" mit Strukturen.
könnte von Grunde her das selbe selbe sein.
Aber das bekommen wir bestimmt noch raus

Bis später.