On Sunday 13 March 2011 22:38:49 Gene P. Cross wrote: > I've amended the source to pass the strings pointer (path.ptr) after adding > a null but the problem still persists. > > I lost for what it could be and I'm certain this is where the problem is, > because if I remove the method call, the program runs fine. > > I've noticed that calling SDL_LoadBMP and passing a string literal seems to > work, instead of a string variable. I might load all the images > independently into an array and have each object reference that array, > instead of every object loading its own.
In D2 (and I assume D1, but I don't know), string literals all have "\0" one past their end, so you can safely pass them to C functions. Other strings don't have them, so you have to append the "\0". Other than that, I don't know why there would be any difference between passing a string literal and a regular string. Perhaps something else in your code is altering the string later (which it wouldn't do if you just passed a literal) and _that_ is screwing it up. I don't know. For the most part, there shouldn't be much difference between dealing with string literals and dealing with normal strings. - Jonathan M Davis