On 5/10/2014 9:02 AM, Jack wrote:
First off a rant:

I use the Code::Blocks IDE and at times it has been proven to a
double-edged source because of various issueslike this one:

http://forum.dlang.org/thread/ndeyzrifseipuebvy...@forum.dlang.org)

and am now itching to search for other IDEs to suit my needs.


I switched from C::B to Programmer's Notepad 2 several years ago, and I've been happy with it:

http://www.pnotepad.org/

It's good if you're looking for a light editor rather than a heavy-duty IDE. Otherwise, there's VisualD and Mono-D which I hear are good.

Now on to the question:
Anyway, I was using std.net.curl to implement an auto updater for my
program.


Sorry, I haven't really used the curl stuff yet, so I can't be a bigger help, but a couple notes below:

Function code is this: http://pastebin.com/i6WnwJF5(links removed due to
it having private content. Original host is https://dropbox.com)

And the overall function was working fine in the IDE except for an
Access Violation that I thought would work itself out when it's (run by
administrator).


Access Violation, despite its wording, isn't usually about user permissions. It's the Windows version of a segfault. Usually means a null pointer was dereferenced, or a freed pointer was used, or an otherwise bad pointer or buffer overflow, etc. If you're really unlucky those can be a result of memory corruption, but that's usually not the case.


So I Exported it to a folder with all necessary files, including the
"cacert.pem" file and run it.

Well this little error popped out : http://pastebin.com/8MmPLg2Q


If you recompile with "-g" ("enable debugging symbols"), then those annoyingly meaningless addresses will change into a proper stack trace. (Or try "-gc" if "-g" doesn't work.)

Is that the same error you get if you try to give it a pem file you *know* doesn't exist? If so, then maybe it's not looking in the directory you expect. Try giving it a full absolute path to the pem file. If that works, then it's probably looking in the directory you're running from instead of the directory where it actually exists. If so, you can use std.file.thisExePath() and build your path relative to that (or just stick with an absolute path).

You can also try opening your pem file directly:

auto pemFile = File("cacert.pem");

See what happens if you do that. It won't fix the problem, but seeing what it does it should help give you a better idea of what's going on.

Though in the Code:: Blocks IDE there was the object.Error Access
Violation error
And in the actual program(.exe) this : http://pastebin.com/8MmPLg2Q

Though I'm also up for not verifying the link but I still can't figure
out how.

Anyway, can anyone give me an idea what went wrong?

Reply via email to