Hello,
can anybody explain me how to port FILE structure into other languages.
I have an DLL library and functions in this library take FILE* as a
parameter. I want to make an interface into Delphi, thus I must
"export" function names and parameters of the function. It is easy for
usual data types and structures but I don't know how to port FILE
structure.
Tahnks.
Jindra 18 1860 jp****@gmail.co m wrote: Hello, can anybody explain me how to port FILE structure into other languages. I have an DLL library and functions in this library take FILE* as a parameter. I want to make an interface into Delphi, thus I must "export" function names and parameters of the function. It is easy for usual data types and structures but I don't know how to port FILE structure.
Tahnks.
Jindra
look at stream in your IDE help system
Xavier
On Thursday 16 March 2006 08:41, jp****@gmail.co m opined (in
<11************ *********@i40g2 000cwc.googlegr oups.com>): Hello, can anybody explain me how to port FILE structure into other languages. I have an DLL library and functions in this library take FILE* as a parameter. I want to make an interface into Delphi, thus I must "export" function names and parameters of the function. It is easy for usual data types and structures but I don't know how to port FILE structure.
You should look into the C implementation used to create the library,
and see how exactly is FILE declared there. You'll then hopefully have
enough information to map the fields to whatever Delphi requires. You
will most likely need an interface layer for this.
--
BR, Vladimir
Recent research has tended to show that the Abominable No-Man
is being replaced by the Prohibitive Procrastinator.
-- C.N. Parkinson
"Vladimir S. Oka" <no****@btopenw orld.com> writes: On Thursday 16 March 2006 08:41, jp****@gmail.co m opined (in <11************ *********@i40g2 000cwc.googlegr oups.com>): can anybody explain me how to port FILE structure into other languages. I have an DLL library and functions in this library take FILE* as a parameter. I want to make an interface into Delphi, thus I must "export" function names and parameters of the function. It is easy for usual data types and structures but I don't know how to port FILE structure.
You should look into the C implementation used to create the library, and see how exactly is FILE declared there. You'll then hopefully have enough information to map the fields to whatever Delphi requires. You will most likely need an interface layer for this.
I don't know whether that's the best approach (partly because I know
very little about Delphi).
C programs in general don't use the FILE structure itself. They only
use pointers to FILE structures (type FILE*). Think of a FILE* as an
opaque type that happens to be implemented as a pointer. The only
valid values of type FILE* are NULL and values returned by functions
such as fopen(). The only valid things to do with FILE* values are to
compare them to NULL or to each other, or to pass them to functions.
The internals of the FILE structure itself are entirely
system-specific. Don't do anything that depends on those internals
unless you absolutely have to.
--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
On 16 Mar 2006 00:41:50 -0800, jp****@gmail.co m wrote: Hello, can anybody explain me how to port FILE structure into other languages. I have an DLL library and functions in this library take FILE* as a parameter. I want to make an interface into Delphi, thus I must "export" function names and parameters of the function. It is easy for usual data types and structures but I don't know how to port FILE structure.
You really don't want to port the FILE structure. You want to look at
what the I/O is doing, then do the same thing in Delphi.
--
Al Balmer
Sun City, AZ
Keith Thompson wrote: "Vladimir S. Oka" <no****@btopenw orld.com> writes: On Thursday 16 March 2006 08:41, jp****@gmail.co m opined (in <11************ *********@i40g2 000cwc.googlegr oups.com>): can anybody explain me how to port FILE structure into other languages. I have an DLL library and functions in this library take FILE* as a parameter. I want to make an interface into Delphi, thus I must "export" function names and parameters of the function. It is easy for usual data types and structures but I don't know how to port FILE structure. You should look into the C implementation used to create the library, and see how exactly is FILE declared there. You'll then hopefully have enough information to map the fields to whatever Delphi requires. You will most likely need an interface layer for this.
I don't know whether that's the best approach (partly because I know very little about Delphi).
I do know Delphi and cannot think of a good reason for doing it.
C programs in general don't use the FILE structure itself. They only use pointers to FILE structures (type FILE*). Think of a FILE* as an opaque type that happens to be implemented as a pointer. The only valid values of type FILE* are NULL and values returned by functions such as fopen(). The only valid things to do with FILE* values are to compare them to NULL or to each other, or to pass them to functions.
The internals of the FILE structure itself are entirely system-specific. Don't do anything that depends on those internals unless you absolutely have to.
I agree with you completely.
The OP should either use the IO built in to Delphi with is perfectly
adequate for most tasks of if he *really* needs to access C streams
write wrapper functions in an extended version of C (extensions being
required for calling conventions) to do what is required.
The details are off topic here. Probably one of the Boreland groups
would be a good place, since Boreland do a C (and C++) compiler as well
as Delphi (although you can use other C compilers for this).
--
Flash Gordon, living in interesting times.
Web site - http://home.flash-gordon.me.uk/
comp.lang.c posting guidelines and intro: http://clc-wiki.net/wiki/Intro_to_clc
Keith Thompson wrote: C programs in general don't use the FILE structure itself. They only use pointers to FILE structures (type FILE*). Think of a FILE* as an opaque type that happens to be implemented as a pointer. The only valid values of type FILE* are NULL and values returned by functions such as fopen(). The only valid things to do with FILE* values are to compare them to NULL or to each other, or to pass them to functions.
Is it meaningful to compare two FILE * values with each other?
"santosh" <sa*********@gm ail.com> writes: Keith Thompson wrote: C programs in general don't use the FILE structure itself. They only use pointers to FILE structures (type FILE*). Think of a FILE* as an opaque type that happens to be implemented as a pointer. The only valid values of type FILE* are NULL and values returned by functions such as fopen(). The only valid things to do with FILE* values are to compare them to NULL or to each other, or to pass them to functions.
Is it meaningful to compare two FILE * values with each other?
As far as I know, yes. Why wouldn't it be?
--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Keith Thompson wrote: "santosh" <sa*********@gm ail.com> writes: Keith Thompson wrote: C programs in general don't use the FILE structure itself. They only use pointers to FILE structures (type FILE*). Think of a FILE* as an opaque type that happens to be implemented as a pointer. The only valid values of type FILE* are NULL and values returned by functions such as fopen(). The only valid things to do with FILE* values are to compare them to NULL or to each other, or to pass them to functions.
Is it meaningful to compare two FILE * values with each other?
As far as I know, yes. Why wouldn't it be?
Sorry if I don't make sense, but I'm still a beginner in C. What I
meant was, in the context of user code, as opposed to the C library
implementation, does it make sense to compare two different FILE *
values? For example you open two files and get two FILE * values as a
result. What would be the meaning in comparing them, even though it may
be valid?
On 2006-03-21, santosh <sa*********@gm ail.com> wrote: Keith Thompson wrote: "santosh" <sa*********@gm ail.com> writes: > Keith Thompson wrote: >> C programs in general don't use the FILE structure itself. They only >> use pointers to FILE structures (type FILE*). Think of a FILE* as an >> opaque type that happens to be implemented as a pointer. The only >> valid values of type FILE* are NULL and values returned by functions >> such as fopen(). The only valid things to do with FILE* values are to >> compare them to NULL or to each other, or to pass them to functions. > > Is it meaningful to compare two FILE * values with each other?
As far as I know, yes. Why wouldn't it be?
Sorry if I don't make sense, but I'm still a beginner in C. What I meant was, in the context of user code, as opposed to the C library implementation, does it make sense to compare two different FILE * values? For example you open two files and get two FILE * values as a result. What would be the meaning in comparing them, even though it may be valid?
If one part of your code isn't telling the other whether they're the
same FILE * or not. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: pembed2003 |
last post by:
Hi all,
Given something like:
std::ofstream out_file("path");
how do I extract the file descriptor from out_file? Is it possible?
What I want is to extract the file descriptor and then pass it to
flock like:
flock(???, LOCK_EX);
|
by: Xah Lee |
last post by:
is there a way to condense the following loop into one line?
# -*- coding: utf-8 -*-
# python
import re, os.path
imgPaths=
# change the image path to the full sized image, if it exists
|
by: Chris Travers |
last post by:
Hi all;
A few years ago, I set about porting a PHP application from MySQL to
PostgreSQL, after realizing that MySQL wasn't going to be able to handle it.
In order to do this, I built a light, fast database abstraction layer which
conforms to the behavior of the MySQL functions in PHP. This means that a
large amount of porting work could be made simple using this porting layer
if the application was originally used PHP's native MySQL...
|
by: Obrecht |
last post by:
Hi.
I am new to VB .NET and am just starting to do some
testing with it. I am trying to define a fixed length
array of structures within a structure. I pass this
structure to a Win32 Btrieve API.
I have one main structure and within that I need to have a
fixed length array of 200 other structures. Below -
shortened versions of the structures.
|
by: JimmyKoolPantz |
last post by:
IDE: Visual Studio 2005
Language: VB.NET
Fox Pro Driver Version: 9.0.0.3504
Problem: I currently have a problem altering a DBF file. I do not get
any syntax errors when running the program. However, after I alter the
table and open microsoft excel to look at any changes; I get the
following error: "This file is not in a recognizable format" If I do
open the file in excel it looks like its not formatted.
| |
by: srikar |
last post by:
Hi all,
I am working on porting of code in C++, I am having the following problem.
In my code The following structure has been defined
static struct rwtable { /* reserved word table */
char * rw_name; /* representation */
int rw_yylex; /* yylex() value */
} rwtable = { /* sorted */
# include "y_token_names.h"
|
by: subramanian100in |
last post by:
Is there any difference between porting and migrating.
Kindly explain
|
by: deepak |
last post by:
Hi Experts,
I'm getting this compilation error while trying to access a member in
structure.
at what time we will get this error message?
Thanks,
Deepak
|
by: Dotan Cohen |
last post by:
I often see mention of SMBs that either want to upgrade their Windows
installations, or move to Linux, but cannot because of inhouse VB
apps. Are there any Python experts who I can reference them to for
porting? I have nothing on hand at the moment, but I see this as a
need without an obvious answer.
--
Dotan Cohen
http://what-is-what.com
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |