Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Мануалы врут?


Автор: YahоО 11.5.2021, 18:52
Мануалы врут, или мой Embarcadero с браком, но этот код в моем виндовсе не выполняется:
Код

// C++
#include <System.SysUtils.hpp>
#include <stdio.h>
int main()
{
  TDateTime *timeDate = new TDateTime();
  UnicodeString aFile = "C:\\Users\\User\\Desktop\\aFile.xml";
  FileAge(aFile, *timeDate, true);
  printf("%ls", DateTimeToStr(*timeDate));
  return 0;
}

Источник: http://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.FileAge

Автор: _zorn_ 12.5.2021, 20:13
Цитата
но этот код в моем виндовсе не выполняется:


Q. У меня ничего не работает
A. А вы включили компьютер в розетку ?

Какой вопрос такой ответ.

Автор: Doga 13.5.2021, 19:42
Похоже, должно быть так:
Код

  TDateTime timeDate;
  ...
  FileAge(aFile, &timeDate, true);
  ...

Автор: YahоО 14.5.2021, 18:45
Может конечно у вас "нормальный", а у меня точно браковый Embarcadero попался )))) 
ну нету в нем такого файла      System.SysUtils.hpp, 
есть только такой   include/windows/rtl/SysUtils.hpp,
и потому он мне и пишет 
[bcc32c Error] main.cpp(41): no matching function for call to 'FileAge'
я уже ему и const, и char, и wchar_t, и L, и *, и &, и [],   перепробовал в самых разных вариантах, типа перестановки/подстановки/попытки "реализовал" вручную,
и SysUtils.hpp даже скопировал непосредственно в свой main.cpp файл, думал может зацепит все же как то и сработает;
и пришел к выводу что не стоит зацикливаться и останавливаться на том чего пока понять не получается, надо оставить в покое эту недоработку мануальную, когда в учебнике прописано то, чего нету в инсталяшке.


Автор: Doga 17.5.2021, 16:15
Вообще, какой файл включать зависит от версии студии. Напр. в 2007 это SysUtils.hpp,
а в XE8 это уже System.SysUtils.hpp. Найдите необходимый файл поиском по содержимому.
А правильный вызов должен быть таким:
Код

  TDateTime timeDate;
  FileAge("C:\\Users\\User\\Desktop\\aFile.xml", timeDate);

Автор: YahоО 19.5.2021, 23:03
Код

//#include <System.SysUtils.hpp>
#include "C:\\Program Files (x86)\\Embarcadero\\Studio\\20.0\\include\\windows\\rtl\\SysUtils.hpp"
#include "C:\\Program Files (x86)\\Embarcadero\\Studio\\20.0\\include\\windows\\rtl\\systdate.h"
#include <stdio.h>
int main()
{
  UnicodeString aFile = "D:\\k.txt";
  //TDateTime timeDate;
  //FileAge("D:\\k.txt", timeDate);
  //printf("%ls", DateTimeToStr(*timeDate));
  system("pause");
  return 0;
}

и 38 ошибок по единственной строке кода: 

[ilink32 Error] Error: Unresolved external 'System::Win::Comobj::CoInitFlags' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|syssupp
[ilink32 Error] Error: Unresolved external '__fastcall System::Syncobjs::TInterlocked::Increment(int&)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|dstring
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrAsg(System::AnsiStringT<0>&, System::AnsiStringT<0>)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrCat(System::AnsiStringT<0>&, System::AnsiStringT<0>)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrCat3(System::AnsiStringT<0>&, System::AnsiStringT<0>, System::AnsiStringT<0>)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrClr(void *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrCmp()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrDelete(System::AnsiStringT<0>&, int, int)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromArray(System::AnsiStringT<0>&, char *, int, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromPChar(System::AnsiStringT<0>&, char *, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromUStr(System::AnsiStringT<0>&, System::UnicodeString, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromWChar(System::AnsiStringT<0>&, wchar_t, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromWStr(System::AnsiStringT<0>&, System::WideString, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrInsert(System::AnsiStringT<0>, System::AnsiStringT<0>&, int)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrSetLength(System::AnsiStringT<0>&, int, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall LStrFromPWCharLen(System::AnsiStringT<0>&, wchar_t *, int, unsigned short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall CheckAutoResult(long)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall DynArrayRelease(void *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall DynArrayAddRef(void *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::InstanceSize()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::InitInstance(void *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::ClassName()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::ClassParent()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::ClassInfo()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::InheritsFrom(System::TMetaClass *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::MethodName(void *)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::QualifiedClassName()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::UnitName()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::UnitScope()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::MethodAddress(System::SmallString<255>&)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::GetInterfaceEntry(_GUID&)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::GetInterfaceTable()' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::ClassNameIs(System::UnicodeString)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::TObject::MethodAddress(System::UnicodeString)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external 'System::__linkproc__ __fastcall FindDynaInst(System::TObject * const, short)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|System_t_win32
[ilink32 Error] Error: Unresolved external '__fastcall System::Internal::Strhlpr::UnicodeFromPChar(System::UnicodeString&, char *, bool)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|ustring
[ilink32 Error] Error: Unresolved external '__fastcall System::Internal::Strhlpr::UnicodeFree(System::UnicodeString&)' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\20.0\LIB\WIN32\DEBUG\RTLE.LIB|ustring
[ilink32 Error] Error: Unable to perform link
Failed

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)