Leaderboard
Popular Content
Showing content with the highest reputation on 12/14/22 in all areas
-
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
It has been quite some time when I made this certificate. Actually, I was one of the first people doing it. The questions were quite challenging, especially because they required deep knowledge of most of the Enterprise features of Delphi. In the past years there were many additions to these (e.g. FireDAC, REST, Mobile etc.) and I doubt that the questions kept the same over the time. I cannot say anything about the current state and level of difficulty of the exam. -
The Delphi Certified Developer // To prepare for the exam
haentschman replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
Hi... ...really? There are two types of exam: Delphi Certified Developer: via online / browser ... i have (exam time: ~1 hour) Delphi Master Certified Developer: ... Uwe has (exam: i dont know time and where) https://www.embarcadero.com/resources/embarcadero-certification-center ...what you want? -
You have a problem. You apply RegEx to solve the problem. You now have two problems.
-
In case this of use to anyone: Quite often you find a bug in Delphi RTL and you come up with a fix. Patching involves replacing the RTL procedure with a new patched one. To do that you can use your favorite patching routine or library (I use Detours), but you need the address of the original function/method. a) Patching a non-virtual public method This is quite straight-forward: type TMethodType = procedure ... of object function GetAddress: Pointer; var MethodPtr : TMethodType; begin MethodPtr := TRTLClass(nil).PublicMethod; Result := TMethod(MethodPtr).Code; end; Note the type cast TRTLClass(nil). b) Patching a virtual public method If for example PublicMethod is virtual the above type cast TRTLClass(nil) with result in access violation, since to resolve the virtual method you need to access Self which is nil. You could create a class instance and use that instead of TRTLClass(nil), but apart from not being elegant, in some cases this has side-effects (for example it may require a valid windows handle). The trick is described in this Stackoverflow question. function GetAddress: Pointer; var VMT : NativeInt; MethodPtr: TMethodType; begin VMT := NativeInt(TRTLClass); MethodPtr := TRTLClass(@VMT).PublicMethod; Result := TMethod(MethodPtr).Code; end; This is based on two facts. A class is a pointer to the Virtual Method table (VMT) and an Object structure has as the first field a pointer to the VMT of its class. c) Patching a private virtual method The trick this time involves using a class helper to access the private method of the TRTLClass type TPrivateMethodType = procedure ... of object; TRTLClassHookFix = class helper for TRTLCLass function GetPriveMethodAddr: Pointer; end; function TRTLClassHookFix.GetPriveMethodAddr: Pointer; var VMT : NativeInt; MethodPtr: TPrivateMethodType; begin // Adjust Self to point to the VMT VMT := NativeInt(TRTLCLass); Self := TRTLCLass(@VMT); with Self do MethodPtr := PrivateMethod; Result := TMethod(MethodPtr).Code; end; That's it.
-
The myth of a working LSP server.. since before Godzilla 🙂
-
hi, I have many 4.0 industry software made in D11x and MySQL in Firedac I use libmysql.dll from the MySQL folder, this should be inserted in TFDPhysical vendorlib property under Windows Server 2016, 2019, 2022 works fine you have to setup microsoft visual c runtime before https://learn.microsoft.com/it-it/cpp/windows/latest-supported-vc-redist?view=msvc-170
-
The Delphi Certified Developer // To prepare for the exam
Mike Torrettinni replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
Here it says it's valid for only 2 years : https://www.embarcaderoacademy.com/p/delphi-developer-certification-premium-package Even worse than AWS 3 years. -
File Manifest : changing it does not load new settings.
programmerdelphi2k replied to gioma's topic in VCL
maybe clearing "prefetch" infos? in "RUN" (Win+R) type "Prefetch" and see the folder with it -
The Delphi Certified Developer // To prepare for the exam
haentschman replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
The Developer certificate is only valid for a limited time... Mine has already expired. Although I have been working in software development for years. Is it still like this? With the Master too? -
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
Why is it unfair? It is a certificate given by Embarcadero. It is expected to be about their own tools and not about any thrid-party ones. After all, everyone is free to take that exam or leave it if feeling uncomfortable with it. -
Exception call stacks on Windows with only a few LOCs
Fr0sT.Brutal replied to Fr0sT.Brutal's topic in I made this
Update: * Total redesign of reading. Minimized string allocations which allowed to gain x3,5 perf boost on MAP file loading + Demo project: add comments and messages, add sample of random callstack, add demo for GetMethodName https://github.com/Fr0sT-Brutal/Delphi_StackTraces -
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
The idea behind probably is that a Delphi Master Developer should to be proficient in these, too. After all, they are part of Delphi Enterprise. Perhaps that is exactly what makes the difference: Being experienced in all or at least most parts of Delphi, not only some core parts. Of course, I don't know the actual reasons. -
Searching for full-time remote position...
Fr0sT.Brutal replied to Rick_Delphi's topic in Job Opportunities / Coder for Hire
Yeah, we got it for several years already. 0.9l milk, 900g rice, even 9-egg pack. And finally what I consider the absolute evil - 0.4l beer! -
The Delphi Certified Developer // To prepare for the exam
PeaShooter_OMO replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
How much experience do you have? That will determine how you should prepare. The embarcadero website says: and... So where do you fit into this? I do not have any idea how the certification covers material but I think 6 months might not be enough for someone with no experience. But there are some bright people out there that might even do it in less time. But remember that the idea behind any studying is to encourage learning and recall of that material and not just to pass a test. Ask yourself if your motives are clear. I have been programming in Delphi for many many years and I am still learning every day and I am on this website and StackOverflow constantly to see what else I can learn. -
Just try packages for 10.x Official GH repo is https://github.com/marsupilami79/zeoslib
-
I think I would split the string on semicolons and run the regex on each individual address. function ValidEmail(const EmailAddress: string): Boolean; const EMAIL_REGEX = '^((?>[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])' + '[^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)' + '(?>\.?[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])' + '[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]' + '{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d))' + '{4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\' + '[\x01-\x7f])+)\])(?(angle)>)$'; var Emails: TStringList; begin Result := True; Emails := TStringList.Create; try Emails.Delimiter := ';'; Emails.StrictDelimiter := True; Emails.DelimitedText := EmailAddress; for var i := 0 to Emails.Count - 1 do if not IsMatch(Emails[i], EMAIL_REGEX) then begin Result := False; Break; end; finally Emails.Free; end; end;