Wednesday, March 18, 2020

Culture always builds on the past Essay Example

Culture always builds on the past Essay Example Culture always builds on the past Essay Culture always builds on the past Essay Culture always builds on the past Is proved through lyrics and tunes, and two of the authors experiences. Specializes In digital sampling and mishaps. HIS stage name Is Girl Talk and he compares a variety of songs, proving culture builds on the past. A song by Muddy waters called, you need love Is very similar In lyrics to a song released many years before by a group called Led Zeppelin. It even sounds similar but of course has some differences in tune/pitch because it uses different instruments. Another example is a song called This may be the last time, recorded by Staple Singers in 1966 and then n extremely similar song with again, same lyrics and rhythm was made by the rolling stone in 1965 calling it, The last time. One finally similarity that proves culture build from the past is an instrumental called, The last time, by Andrew Lolled, released in 1 966 and then in 1997, almost the exact piece was then used for the song, Bittersweet Symphony, by the verse. Ten years later, Girl Talk used it and remixed it to make it his own in 2007. All these songs were base off other pieces created years ago to be created into something new. They add their own creative spin on it to make it more original and their own because ideas are all based on other things to create new things. A personal experience the author had and still sees to this day that proves this statement happens all the time in school. Class projects are done all the time in classrooms of all subjects and almost all the time are based on previous works. A Spanish project the author had this month was almost entirely based on a previous work done by someone else. Of course creativity is added to make it more original UT it was influenced mainly off the previous work. This shows that culture always builds on the past and it is not Just the author who has done this but millions of others. Another example proving the statement with a personal experience by author was seen through the fashion Industry. Trends come and go all the time with different designers creating new fashion pieces from the past and from each other. The author once made five pairs of pants Influenced by a design from the ASS that became a trend this year. The design was not stolen; It was built on because she deed her own pieces and fabric design to the pants Just Like the fashion Industry did when It brought back the trend. The fashion Industry and fashion In general Is deeply influenced by the past to create new accessories and clothing pieces. Magnificently proves this through his documentary to inspire the public to fight back for their rights. Every single idea is built upon the past and that is essential to creativity. The public domain needs to be in a healthy state so that ideas can freely build upon each other and copyrights be limited to controlling and destroying creativity.

Monday, March 2, 2020

Load a DLL From a Resource Directly From Memory

Load a DLL From a Resource Directly From Memory Article idea by Mark E. Moss The article how to store a DLL inside a Delphi program exe file as a resource explains how to ship a DLL with your Delphi application executable file as a resource. Dynamic link libraries contain sharable code or resources, they provide the ability for multiple applications to share a single copy of a routine (or resource) they have in common. Using resource (.RES) files, you can embed (and use) sound files, video clips, animations and more generally any kind of binary files in a Delphi executable. Loading DLLs From Memory if a DLL stored in a RES can be used without first saving it on the file system (hard disk) According to the article Loading a DLL from memory by Joachim Bauch, this is possible. Heres how Joachim looks at the issue: The default windows API functions to load external libraries into a program (LoadLibrary, LoadLibraryEx) only work with files on the filesystem. Its therefore impossible to load a DLL from memory. But sometimes, you need exactly this functionality (e.g. you dont want to distribute a lot of files or want to make disassembling harder). Common workarounds for this problems are to write the DLL into a temporary file first and import it from there. When the program terminates, the temporary file gets deleted. The code in the mentioned article is C, the next step was to convert it to Delphi. Luckily, this has already been done by Martin Offenwanger (the author of DSPlayer). Memory Module by Martin Offenwanger is an extended Delphi (and also Lazarus) compatible version of Joachim Bauchs C Memory Module 0.0.1. The zip package includes the complete Delphi source code of the MemoyModule (BTMemoryModule.pas). Furthermore theres a Delphi and sample included to demonstrate how to use it. Loading DLLs From Resources From Memory If a demo DLL is stored as a resource using the RC file: DemoDLL RCDATA DemoDLL.dll varms : TMemoryStream;rs : TResourceStream;beginif 0 FindResource(hInstance, DemoDLL, RT_RCDATA) thenbeginrs : TResourceStream.Create(hInstance, DemoDLL, RT_RCDATA);ms : TMemoryStream.Create;tryms.LoadFromStream(rs);ms.Position : 0;m_DllDataSize : ms.Size;mp_DllData : GetMemory(m_DllDataSize);ms.Read(mp_DllData^, m_DllDataSize);finallyms.Free;rs.Free;end;end;end; varbtMM: PBTMemoryModule;beginbtMM : BTMemoryLoadLibary(mp_DllData, m_DllDataSize);tryif btMM nil then Abort;m_TestCallstd : BTMemoryGetProcAddress(btMM, TestCallstd);if m_TestCallstd nil then Abort;m_TestCallstd(This is a Dll Memory call!);exceptShowmessage(An error occoured while loading the dll: BTMemoryGetLastError);end;if Assigned(btMM) then BTMemoryFreeLibrary(btMM);end; Have / Create a DLLStore the DLL in a RES fileHave BTMemoryModule implementation.Grab the DLL from the resource and load it directly into memory.Use BTMemoryModule methods to execute procedure from the DLL in memory. BTMemoryLoadLibary in Delphi 2009, 2010, ... The linked BTMemoryModule.pas does not work with Delphi 2009 (and I would assume Delphi 2010 also).I found a similar version of the BTMemoryModule.pas file a while ago, and made changes so it works with (at least) Delphi 2006, 2007 and 2009. My updated BTMemoryModule.pas, and a sample project, are at BTMemoryLoadLibary for Delphi 2009