Jump to content

JeanCremers

Members
  • Content Count

    35
  • Joined

  • Last visited

Everything posted by JeanCremers

  1. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Hi Remy, I got it to compile with warnings m.Code = handler; [bcc32c Warning] ssl.cpp(50): implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension and.. http->OnWorkBegin = makeEventHandler<TWorkBeginEvent>(&funcs, &MyOnWorkBeginHandler); ssl.cpp(72): in instantiation of function template specialization 'makeEventHandler<void (__closure *)(System::TObject *, Idcomponent::TWorkMode) __attribute__((fastcall)), void (void *, System::TObject *, Idcomponent::TWorkMode) __attribute__((fastcall))>' requested here That last warning i also get on http->OnWorkEnd = makeEventHandler<TWorkEndEvent>(&funcs, &MyOnWorkEndHandler); But NOT on http->onWork In the test code OnWorkBegin and OnWork are never called. I tried debugging the dll to get an idea what was going on but run to cursor didn't work there, though i used the debug version. If you want we can call it a day? At least I can use ssl now.. Some funny thing, i could only get one function to export from the dll, if i tried to export only a small 'void mytest(void)' i got a linker error in the test app, though nirsoft's dll export vieuwer shows them allright. ps, could it have something to do with indy not living on a form? I tried to assign OnWork etc in the dll to a plain void __fastcall MyOnWork(void *AData, TObject *ASender, TWorkMode AWorkMode, __int64 AWorkCount) in the dll but got an error about incompatible type.
  2. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Gives these.. I've got it working nicely without the events though. [bcc32c Error] main.cpp(23): static_cast from 'void *' to 'OnWorkBeginFunc' (aka 'void (*)(OnWorkMode, long long)') is not allowed [bcc32c Error] main.cpp(24): cannot initialize a parameter of type 'OnWorkMode' with an lvalue of type 'Idcomponent::TWorkMode'
  3. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Hi Remy, Getting errors on the lines in the three functions, void(*) vs void(**): OnWorkBeginFunc func = static_cast<OnWorkBeginFunc*>(ASelf); [bcc32c Error] main.cpp(23): cannot initialize a variable of type 'OnWorkBeginFunc' (aka 'void (*)(OnWorkMode, long long)') with an rvalue of type 'OnWorkBeginFunc *' (aka 'void (**)(OnWorkMode, long long)')
  4. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Wow Remy, thanks a bunch, gonna work with it. The reason why i didn't want to use that WIP code is because i'm afraid to break things.
  5. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Remy I'm trying to make a dll in c++builder 10.3 to use that Indy version with my application made in c++builder 6. Is there a way to export OnWork(), OnWorkBegin(), OnWorkEnd()? How should those functions be declared, Something with TNotifyEvent? Thanks! #define EXPORT extern "C" __declspec(dllexport) EXPORT int getdata(char *url, char *data, ???onwork???) { TIdHTTP *http = new TIdHTTP; http->OnWork = onwork; // ?????????????????????????????? TIdSSLIOHandlerSocketOpenSSL *SSL; SSL = new TIdSSLIOHandlerSocketOpenSSL(NULL); IdOpenSSLSetLibPath(ExtractFilePath(ParamStr(0))); SSL->SSLOptions->Method = sslvTLSv1_2; http->IOHandler = SSL; http->ReadTimeout = 10000; String s = http->Get(url); memcpy(data, s.c_str(), s.Length()); } Btw i was getting an error about strcpy() not found, for now i'm using memcpy, probably to do with widechar, still haven't got into unicode that much because of my c++builder 6 code.
  6. JeanCremers

    update indy to use tls 1.2 in c++builder 6?

    Thanks Remy, WhichFailedToLoad reported ssleay32.dll, the newer one, but it also reports NULL when i try some other dll's. I looked at the WIP code but i don't feel like trying to use it, i'm afraid that i will break something. For now http still works, i'm using indy so my prog can download additional files / updates from my provider, this still works. Another prog i had refuses since awhile, i guess that website had some ssl update. So here's hoping http will keep working... ps what's up with all the q,r,s,t,u in the names?
  7. Well the title says it all, after updating to windows 20h2 i can't register bcb 6 anymore. I can't enter my registration key, it always says invalid. There used to be a trick copying the registry entry for borland to to softwarewow6432node but it does not work anymore. Please help, i depend on bcb 6 for my project.
  8. Solved by deleting the LM registry key in hkcu\borland AND hkcu\borland\wow6432node
  9. Several reasons. Ask around, I'm not the only one depending on bcb6 for old projects.
  10. JeanCremers

    tlsv1 alert protocol version

    Remy i'm on c++builder 6 with Indy 10 (changelog says 30 juil. 2009) and indeed https does not work, throwing a tlsv1 exception. Can i use my indy version with the new protocol / dll's? Otherwise can i update indy on bcb6 to get https going again? Thanks.
×