Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. bernhard_LA

    DUNIT X memory leak checking

    open question : unit DUnitX.MemoryLeakMonitor.LeakCheck does not compile, because , of missimg include file {$I DUnitX.inc} where to get this file ?
  2. bernhard_LA

    DUNIT X memory leak checking

    thanks for this hint, in addition I found : https://medium.com/@Zawuza/delphi-leakcheck-2242270ef42d My dunitX installation does not come with a file DUnitX.MemoryLeakMonitor.LeakCheck , you need to copy from https://bitbucket.org/shadow_cs/delphi-leakcheck/src/master/External/DUnitX/ to this folder .....
  3. bernhard_LA

    DUNIT X memory leak checking

    I must convert a dunit project to a dunixX project, the following code does not compile any longer , how to include dunit leak checks into dunitX ? procedure TestClass_MemoryLeaks.Test_..........h; begin try G := TGraph<Char>.Create(normal_directed); GraphTestData(G); G.AddEdge...... finally G.Free; self.CheckTrue(not(self.GetFailsOnMemoryLeak), 'Failed on memory leak when Adding Repeated Edge on Directed Graph'); end; end;
  4. bernhard_LA

    install DUNITX

    I use DELPHI 10.3, my current - default installation of DUNITX seems to be incomplete, because I need to uncomment several units? what is the next step : a) ignore because some test projects are working ? b) install again from git, any instruction how to update installation program N_TESTS_VCLGUIAPP; {$R *.res} uses Vcl.Forms, System.SysUtils, // DUnitX.Examples.General, // DUnitX.Loggers.Text, DUnitX.Loggers.XML.NUnit, // DUnitX.Loggers.XML.xUnit, // DUnitX.MacOS.Console, DUnitX.Test, DUnitX.TestFixture, DUnitX.TestFramework, DUnitX.TestResult, DUnitX.RunResults, DUnitX.TestRunner, DUnitX.Utils, // DUnitX.Utils.XML, DUnitX.WeakReference, DUnitX.Windows.Console, // DUnitX.StackTrace.EurekaLog7, // DUnitX.Examples.EqualityAsserts, DUnitX.Loggers.Null, DUnitX.MemoryLeakMonitor.Default, DUnitX.AutoDetect.Console, DUnitX.ConsoleWriter.Base, // DUnitX.DUnitCompatibility, DUnitX.Extensibility, DUnitX.Extensibility.PluginManager, DUnitX.FixtureProviderPlugin, DUnitX.FixtureResult, DUnitX.Generics, DUnitX.InternalInterfaces, DUnitX.IoC, DUnitX.Loggers.Console, DUnitX.CommandLine.OptionDef, DUnitX.CommandLine.Options, DUnitX.CommandLine.Parser, DUnitX.OptionsDefinition, DUnitX.Banner, DUnitX.FilterBuilder, DUnitX.Filters, DUnitX.CategoryExpression, DUnitX.TestNameParser, DUnitX.Loggers.GUI.VCL, // DUnitX.Examples.AssertFailureCompare, DUnitX.Timeout, DUnitX.Exceptions, DUnitX.ResStrs, // DUnitX.Examples.UITest, ......... ; begin Application.Initialize; Application.Title := 'DUnitX'; Application.CreateForm(TGUIVCLTestRunner, GUIVCLTestRunner); Application.Run; end.
  5. bernhard_LA

    best practise unit testing , DUNITX

    following the samples from http://delphiprogrammingdiary.blogspot.com/2018/09/introducing-dunitx-new-unit-test.html we created now also 2 different delphi projects *.dpr for each test a) the consoleAPP for automatic execution within JENKINS and CI b) the VCLGUI app for debugging of our testcases we include the testcas.pas file inside both projects Q1 : any known issue while sharing the test case class (*.pas) between VCLGUI app and console APP ? Q2 : how to separate or select different test cases? we have test cases with a very short execution time ( below 1 min) and some with a very long execution time (several hours) if I could select the individual testcase via the GUI, this would help, I don' want to create a third App for the long test cases ....
  6. thanks for helping - found also my mistake : after change from var LoadString: String; to var LoadString: AnsiString; code is working, with a typecast String(Loadstring) ; but now different issue .... this will now work for compiling under LINUX 😞
  7. I'm almost sure that I already used the code below without any issues in previous application. Now a added this to a new app and dumped the Loadstring variable into a memo with memo.lines.add ( Loadstring ) ; All text is now displayed using chines char's , the file I#m reading for sure is ASCII and only latin chars ..... What went wrong ? var LoadString: AnsiString; FS: TFileStream; begin FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); try SetLength(LoadString, (FS.Size div SizeOf(Char))); if FS.Size > 0 then FS.Read(Pointer(LoadString)^, FS.Size); finally FS.Free ;
  8. bernhard_LA

    Shellexecute @ UBUNTU platform

    Basic Wish a) just start a executeable like ./myapplication and pass also command line parameters Advanced Wish b) a notification once the ./myappliaction is finished work around i) any solution using RAD C++ and Linux compile options ?? ii) call a phyton script from Delphi ???? iii) a dll written in Lazarus ?????
  9. bernhard_LA

    Shellexecute @ UBUNTU platform

    I need a solution to replace the shellexecute command for the windows platform If possible no external / 3rd party lib involved Can someone provide a working code here ?
  10. bernhard_LA

    best practise sharing : 2 buttons with mrOK on a form

    yes ... added simple integer values to the modalresult property, seems to work now
  11. the windows GUI code for a simple INDY 10 tcp demo comes from here : https://github.com/tinydew4/indy-project-demos/tree/master/TCPIP Delphi %26 Indy10 Client Server Demo/1_sample Simple String Exchange I used this code to run the server in a cmd line application, but I fail with the function pointer assignment, what is the correct syntax I need here see the current not working code below program IndyConsoleApp; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, IdContext, IdSync, IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer, IdGlobal; type OnTCPServerExecutefct = procedure (AContext: TIdContext) of Object ; var IdTCPServer1: TIdTCPServer; TCPServerExecutefct : OnTCPServerExecutefct; procedure ShowStartServerdMessage; begin writeln('START SERVER @' + TimeToStr(now)); end; procedure StopStartServerdMessage; begin writeln('STOP SERVER @' + TimeToStr(now)); end; procedure TCPServerExecute(AContext: TIdContext); var LLine: String; begin TIdNotify.NotifyMethod( ShowStartServerdMessage ); // wrong LLine := AContext.Connection.IOHandler.ReadLn(); writeln(LLine); AContext.Connection.IOHandler.WriteLn('OK'); TIdNotify.NotifyMethod( StopStartServerdMessage ); end; begin IdTCPServer1:=TIdTCPServer.Create; try { TODO -oUser -cConsole Main : Insert code here } IdTCPServer1.Bindings.Add.IP := ''; IdTCPServer1.Bindings.Add.Port := 6000; IdTCPServer1.OnExecute := TCPServerExecute ; /// wrong ! // TCPServerExecutefct:= assign(TCPServerExecute); readln ; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
  12. I want to evaluate the pressed button on a form with this code below, my form (aForm) should have 2 buttons which the property mrOK. If aForm.modalresult = mrOK then begin /// now evaluate which button has been pressed ??? .... .... end; what is the best solution for this issue?