Jump to content

Bevan E

Members
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. I commented out the define for AUTO_X509_CERTS and I found SHDOCVW_OCX.OBJ in Studio\22.0\lib\win32\release, which I copied to SHDOCVW.OBJ. This got me over the link error with that file, but now it's giving another link error for VCL.EDGE.OBJ. I know you say it's not used, but then it wouldn't be trying to link that file. In that lib\win32\release directory there is Vcl.Edge.dcu, but no Vcl.Edge.obj file.
  2. Thanks to you both for your perseverance with this. Today I have reverted my entire ICS source directory to the HEAD version from the repository, which appears to be v8.71 now. I have successfully built IcsCommonCB110Run.cbproj, IcsCommonCB110Design.cbproj, and IcsVclCB110Run.cbproj. When I try to build IcsVclCB110Design.cbproj I get the linker error "Unable to open file 'SHDOCVW.OBJ'" I have searched my system and can't find this file anywhere. Now when I build my original project (because I don't need the design packages), I get unresolved externals for NCryptGetProperty NCryptExportKey, etc referenced by ICSVCLCB110RUN.LIB|OverbyteIcsMsSslUtils. I'll come back to this later, but there appears to have been some progress by completely reverting my ICS source.
  3. I feel like we have gotten off track. The point was, because I'm using C++Builder v11.3 and ICS v8.70, my application is being forced to use Vcl.Edge, because it using the THttpServer component. But this dependency requires a .obj file that doesn't exist anywhere in the C++Builder installation. On the one hand, it's only used for OAuth, so why should my application be required to include it anyway? But then OAuth is probably standard for THttpServer, so that might answer that question. Do I need to look at replacing THttpServer with TWSocket and implement my own header/body processing, since the current/latest THttpServer seems to be incomplete? It's a lot of work, but it could be significantly less than trying to get THttpServer working. I don't need SSL for this application either, so then all the crypto requirements disappear too. But I still can't build IcsVclCB110Design.bpl or IcsVclCB110Run.bpl because of this issue. Perhaps I need to go back to an earlier release of ICS? Someone said they are using v8.69 with C++Builder, perhaps that's the answer?
  4. I did mention that I upgraded to the latest release but, just to confirm, that is v8.70. The files for v8.70 include CB110InstallVclFmx.groupproj (in the Install directory), which appears to be for C++Builder. In trunk\source\OverbyteIcsOAuthFormVcl.pas it references Vcl.Edge for COMPILER27_UP, which includes C++Builder v11.3. I don't use this component in my project, but it's trying to include the .obj file anyway. I have installed the EdgeView2 SDK and the latest EdgeBrowser Demo and Imports Update. I have built the Demo project and tried to run it, but it gives the error "Failed to initialise Edge loader". I've been working with these things for long enough to know what I'm doing, but this has got me stumped - not necessarily only an ICS issue, most likely C++Builder as well, but it's very frustrating.
  5. I just realised that the IcsVclCB110Design.bpl project didn't build properly because it came up with a linker error for VCL.EDGE.OBJ - so I was using the latest Common by and older VCL library. So, where can I get this VCL.EDGE.OBJ file from? I have scoured the Embarcadero installation and can't find it anywhere.
  6. I have a service application which starts a thread, and that thread uses THttpServer. It includes OverbyteIcsHttpSrv.hpp and uses #pramga link "crypt32.lib" and #pragma link "cryptui.lib" When the thread starts, it creates a new THttpServer, sets some basic settings, then calls the Start() method. It implements handlers for OnBgException, OnServerStarted, OnServerStopped, OnClientConnecct, OnClientDisconnect, OnGetDocument, OnPostDocument, OnPutDocument, OnDeleteDocument, OnPostedData, and OnUnknownRequestMethod. There are no other references to ICS in the entire project.
  7. I have a service application which starts a thread, and that thread uses THttpServer. It includes OverbyteIcsHttpSrv.hpp and uses #pramga link "crypt32.lib" and #pragma link "cryptui.lib" When the thread starts, it creates a new THttpServer, sets some basic settings, then calls the Start() method. It implements handlers for OnBgException, OnServerStarted, OnServerStopped, OnClientConnecct, OnClientDisconnect, OnGetDocument, OnPostDocument, OnPutDocument, OnDeleteDocument, OnPostedData, and OnUnknownRequestMethod. There are no other references to ICS in the entire project.
  8. Thanks for the comments, both of you. Going back to my original project, I commented out things in the .hpp files that were replications and/or invalid declarations, and such. It finally gets based all of the header errors, but now I'm getting these errors during link. Unresolved external '__fastcall Overbyteicswsocket::TCustomWSocket::ReceiveTB(System::DynamicArray<unsigned char>&, int)' referenced from ... OVERBYTEICSWSOCKETS.OBJ And about 17 more of those.
  9. Thanks for the comments/suggestions. Just to confirm, it's the HttpServer component that appears to be causing the issues. I created a new C++Builder VCL Form project and added two buttons (Start/Stop) and the ICS HttpServer component. It generated lots of errors during compile. So I opened the CBXE2 OverbyteIcsHttpTst project (not realising it was HttpClient) and that compiled fine. I then opened the CBXE2 OverbyteIcsWebServ project and that too generated lots of errors, but this time to do with unresolved externals (perhaps because it's XE2 rather than 11.3) Going back to my basic THttpServer project mentioned above, there are 262 errors, starting with "unknown type name '__NCRYPT_UI_POLICY_BLOB'" in OverbyteIcsWinCrypt.hpp. In fact, now that I think about it, all of the errors I have encountered appear to be do with that particular file. Any further thoughts/suggestions would be greatly appreciated.
  10. I have built the Common library, in Run and Design mode, and I have built both VCL and FMX libraries, in Run and Design mode. This is a VCL application, and the project only references the VCL and Common libraries.
  11. I have several applications I maintain which use the Overbyte ICS components. I recently updated to the latest release and have managed to build all the packages for C++Builder v11.x. But when I try to recompile my applications, I get all sorts of conflicts about ambiguity between Overbyteicswndcontrol and Ics::Fmx::Overbyteicswndcontrol, ambiguity between PCERT_BLOB and Winapi::Windows;:PCERT_BLOB, etc. I also tried building the Delphi v11.0 version of the libraries and using those - but the C++ header files contained all sorts of errors and bad references as well. Does anyone else use the components with C++Builder and have managed to use the latest version successfully?
×