Jump to content

AlexBelo

Members
  • Content Count

    57
  • Joined

  • Last visited

Community Reputation

11 Good

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. AlexBelo

    Compiling a component for Win64

    Hmm... But how I use such a component for more then 15 years?.. OK, most likely because I always compile monolithic executables. 🙂
  2. AlexBelo

    Compiling a component for Win64

    But AFAIUI it was not obligatory. Now it's "must" for more-than-Win32 components.
  3. AlexBelo

    Compiling a component for Win64

    Thank you. Googling "separate packages for runtime and design" returns old but still relevant detailed article: Creating Packages https://delphi.fandom.com/wiki/Creating_Packages
  4. AlexBelo

    Compiling a component for Win64

    Hi all. I recompile my old 32-bit codebase to use it in Win64 projects. At moment I need to recompile a component with ide designer part (it lives in separate unit). Question: how to configue my package to avoid compilation of this unit?
  5. Hi all. Win64 platform, small console test project. After some days with 11.1.5 I permanenetly get the following message: Debugger fatal error: debug kernel not responding. Cleaning of project, rebooting IDE and Windows do not help. Any advice? --- Upd: it looks like something is wrong in project itself. I can run and debug another test project. Anyway I still need advice what to search/fix in project ...
  6. Thank you for additional information. __fastcall for overlapped virtual destructor of Delphi-based class in CLANG32 compiler https://quality.embarcadero.com/browse/RSP-38783
  7. HI all. RAD 11.1.5 Consider the following code: class dExc : public TObject { public: static int Counter; dExc() { Counter++; printf(" dExc\n"); } /* __fastcall */ ~dExc() { Counter--; printf("~dExc\n"); } }; int dExc::Counter=0; If I compile this in "classic" mode without __fastcall I get: [bcc32 Error] Main.cpp(19): E2113 Virtual function '~dExc::dExc()' conflicts with base class 'TObject' CLANG-32 compiler shows "Success", but program crashes in destructor of ~dExc. Adding __fastcall produces workable exe in both cases. (CLANG-64 version works with and without __fastcall because 64-bit uses its own call convention AFAIK) Is this a bug in CLANG-32 compiler?
  8. AlexBelo

    String on heap?

    Sources are very old and not mine. All compiles fine in 2007 (last ansi version) but now I'm preparing a codebase for unicode and 64 bits. Thanks all for help. BTW I see nothing too strange in code: function SetItemCell operates with pointers on different types (some structures and strings as special case). Nothing nonlegitimate or obscure.
  9. AlexBelo

    String on heap?

    Is this correct New(v); v^:=value; Dispose(v);
  10. AlexBelo

    String on heap?

    Umm... procedure TStringAlignGrid.SetHintCell(ACol,ARow: longint; const Value: string); var v: PString; begin // v:=NewStr(Value); // <--- new AnsiString instance on heap v:=New(Value); [DCC Error] E2008 Incompatible types
  11. Hi all. I'm c-builder programmer and I need some Delphi help. In old pas file which I'm trying to compile I see (simplified): function SetItemCell(ACol,ARow: longint; List:TList; value: Pointer): pointer; var t: pointer; sublist:TList; begin t:=NIL; ... t:=sublist.items[ARow]; sublist.Items[ARow]:=value; ... SetItemCell:=t; // give back the pointer to the previously stored element to let the caller dispose it end; OK, this code puts new pointer into list and returns old contents. Now usage with pointer to string: procedure TStringAlignGrid.SetHintCell(ACol,ARow: longint; const Value: string); var v: PString; begin v:=NewStr(Value); // <--- new AnsiString instance on heap v:=SetItemCell(ACol,ARow, FHintCell, v); if v<>NIL then DisposeStr(v); // <--- delete old string end; No problem in "old Ansi" Delphi versions but now compiler scolds NewStr and DisposeStr as incompatible with Unicode. So a question is: how to create string on heap?
  12. AlexBelo

    Memory leaks tracking in Win64 BCB project

    Thank you for tip. According docs it supports all types of applications (including 64 bit BCB). But at moment I have problems: 64 bit app does not start at all, 32 bit app does not show any results ... I'll try asking EL support.
  13. AlexBelo

    madExcept on win64

    Yes, it was missed libs (*.a). But unfortunately even successfully linked madExcept does not work in my test 64-bit CB exe (nor "mad" exception handling, nor leaks detection) ...
  14. Hi all. I'm new in 64-bit RAD development. At moment I'm trying to find out how to search memory leaks. According to docs FastMM's ReportMemoryLeaksOnShutdown does not work in C++ projects at all. madExcept does not work with 64-bit projects ... Do you know any tool for 64 bits?
  15. AlexBelo

    madExcept on win64

    Here is info from Mathias (aka madshi) So CB64 is simply out of official support.
×